一、定义字符串
字符串就是一系列字符,在Pytho中的字符串用英文的单引号'或双引号“或者三个单引号'''括起来
如下所示:
'This is string'
"This is string"
'''This is string'''
二、字符串切片
变量规则:含头不含尾,左闭右开
索引值从左到右,第一个元素的索引为0,最后一个元素索引为-1
步长默认值为1
str_num = "123456789"
# 取单字符 字符串中第二个字符
print(str_num[1])
# 取单字符 字符串中倒数第二个字符,结果为8
print("字符串中倒数第二个字符:", str_num[-2])
# 取多个字符 从开始位置截图长度为3对应的字符串 0:3,结果为123
print("从开始位置裁图长度为3对应的字符串:", str_num[0:3])
# 取从第三个字符后面所有字符,结果为3456789
print("取从第三个字符开始,截取后面所有字符:", str_num[2:])
# 取前六个字符,结果为123456
print("取前六个字符:", str_num[:6])
print("取前六个字符:", str_num[0:6])
# 步长为2,截取从第一个字符开始,隔2个字符再取下一个字符,结果为147
print(str_num[::3])
# 字符串反转 从右到左,结果为987654321
print("字符串反转:", str_num[::-1])
三、特殊符号处理,字符串添加空白
1、在字符串中添加制表符\n,相当于tab键的效果
>>> print("python")
python
>>> print("\tpython")
python
2、在字符串中添加换行符\n
>>> print("language:\npython\nC\njava")
language:
python
C
java
3、在同一个字符中包含制表符和换行符,\n\t ,可以换到下一行并在下一行的开头添加一个制表符
>>> print("language:\n\tpython\n\tC\n\tjava")
language:
python
C
java
4、字符串格式
# 字符串格式表示方式一
>>> print("%s,年龄:%s岁,工作年限:%d,公司招测试请联系我" % ("小骄傲", "28", 6))
小骄傲,年龄:28岁,工作年限:6,公司招测试请联系我
# 字符串格式表示方式二
>>> print("{1},年龄:{0}岁,工作年限:{2},公司招测试请联系我".format("28", "小骄傲", 6))
小骄傲,年龄:28岁,工作年限:6,公司招测试请联系我
# 字符串格式表示方式三
>>> name = "小骄傲"
>>> age = "28"
>>> wyrs = "6"
>>> print(f"{name},年龄:{age}岁,工作年限:{wyrs},公司招测试请联系我")
小骄傲,年龄:28岁,工作年限:6,公司招测试请联系我
四、字符串拼接
字符串是不可变数据类型,字符串更新,不能对某个字符更新, 只能通过拼接更新
>>> name = '小骄傲'
>>> loi = 'my name is '
>>> loiname = loi + name
>>> print(loiname)
my name is 小骄傲
五、字符串常见函数
join:通过分隔符-合并一个新的字符;join(seq)以指定的分隔符把seq中的元素合并成一个新字符串 join 加入‐‐‐某个规则符号,实例如下:
>>> join_str = "helloworld"
>>> new_str = "‐".join(join_str)
>>> print(new_str)
h‐e‐l‐l‐o‐w‐o‐r‐l‐d
split:split()通过分隔符截图多个字符,返回列表数据
>>> path = "1448555;1571255;565625489;211548585;5868784"
>>> for item in path.split(";"):
>>> print(item)
1448555
1571255
565625489
211548585
5868784
replace(原字符, 新字符) ,替换字符串
>>> love = "i love java"
>>> print(love.replace("java", "python"))
i love python
find(查找字符, 开始索引到结束索引值)查找字符串,找到返回开始索引值,没有找到返回‐1
>>> ss_str = "1234567843432"
>>> print(ss_str.find("8"))
>>> print(ss_str.find("a"))
7
-1
index‐‐>find区别在于,index如果没有找到则报错
>>> ss_str = "1234567843432"
>>> print(ss_str.index("8"))
>>> print(ss_str.index("a"))
7
ValueError: substring not found
count(查询字符, 开始索引,结束索引值) 返回某个字符在指定范围出现次数
>>> ss_str = "1234567843432"
>>> print(ss_str.count("2"))
2
startswith (匹配字符, 开始索引到结束索引值) 判断是否以某个字符开头,常用于逻辑判断,返回True,False
>>> ss_str = "1234567843432"
>>> print(ss_str.startswith("123"))
True
endswith判断是否以某个字符结尾,如上startswith
>>> ss_str = "1234567843432"
>>> print(ss_str.endswith("123"))
False
字符串之间大小写转换:lower() 小写;upper() 大写;apitalize() 首字母大写
>>> love = "i love java"
>>> print(love.lower()) # 小写
>>> print(love.upper()) # 大写
>>> print(love.capitalize()) # 首字母大写
i love java
I LOVE JAVA
I love java
len长度;
>>> ss_str = "1234567843432"
>>> print(len(ss_str))
13
encode和decode分别指编码和解码