字符串
字符串:由字符组成的有序序列。
创建字符串
可以使用单引号、双引号和三引号创建字符串。
str1 = 'pyhthonstring'
str2 = "pyhthonstring"
str3 = '''
pyhthonstring
换行符\n
qwert
''' #三引号创建的字符串可以不在同一行,可以使用换行符等。
字符串编码转换
编码和解码均不改变原字符串
str.encode()编码
GBK | UTF–8 |
---|---|
1个字节表示英文字母 | 1个字节表示英文字母 |
2个字节表示中文字符 | 3个字节表示中文字符 |
str1 = '人生苦短,我用Python'
byte = str1.encode('utf-8') #也可以选取其他编码方式
print(byte)
结果:
b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python'
str.decode()解码
str1 = '人生苦短,我用Python'
byte = str1.encode('gbk') #编码
print(byte)
str2 = byte.decode('gbk') #解码
print(str2)
结果:
b'\xc8\xcb\xc9\xfa\xbf\xe0\xb6\xcc\xa3\xac\xce\xd2\xd3\xc3Python'
人生苦短,我用Python
访问字符串
str[index]
str1 = 'Hellow,Python!'
print(str1[4])
print(str1[1:6]) #使用切片访问
print(str1[1:10:2])
结果:
o
ellow
elwPt
分割、合并字符串
str.split(sep,maxsplit) 分割点、分割次数
str = "Hellow Python!"
print (str.split( )) # 以空格为分割符
print (str.split('o')) # 以o为分割符
print (str.split('l',1)) # 以l为分割符,分割一次
结果:
['Hellow', 'Python!']
['Hell', 'w Pyth', 'n!']
['He', 'low Python!']
join(seq) 合并
str1 = "=="
str2 = "->"
it = ("p", "y", "t", "h", "o", "n") # 字符串序列
print (str1.join(it))
print (str2.join(it))
结果
p==y==t==h==o==n
p->y->t->h->o->n
检索字符串
命令 | 作用 |
---|---|
str.count(x,start,end) | x出现次数 |
str.find(x,start,end) | x首次出现位置,不存在返回-1 |
str.rfind(x,start,end) | 从右数 x首次出现位置 |
str.index(x,start,end) | x首次出现位置,不存在时报错 |
str.rindex(x,start,end) | 从右数 x首次出现位置,不存在时报错 |
str.startswitch(x,start,end) | 字符串是否以x开头 返回True False |
str.endswitch(x,start,end) | 字符串是否以x结束 |
x in str | 判断str中是否包含x, 返回True False |
字符串运算符
命令 | 作用 |
---|---|
str1 + str2 | 字符串连接 |
str * 3 | 重复3次字符串 |
max(str) | 返回字符串 str 中最大的字母 |
max(str) | 返回字符串 str 中最大的字母 |
len(str) | 返回字符串长度 |
格式化字符串
一、使用%
print("现在是%d年,我在浏览%s"%(2020,"CSDN")) #和C语言有相似之处
结果:
现在是2020年,我在浏览CSDN
二、使用format格式化函数
str.format()
"{0} {1}".format("hello", "world") # 设置指定位置
结果:
'hello world'
"{1} {0} {1}".format("hello", "world") # 设置指定位置
结果:
'world hello world'
print("{name}, 网址 {url}".format(name="百度", url="www.baidu.com"))
百度, 网址 www.baidu.com
Python3.6以后format()被简化,可以直接使用f’{} {}’
a = "hello"
b = "world"
print(f"{a} {b} !")
hello world !
其余函数
str.lower() 大写转换为小写字母
str.upper() 小写转换为大写字母
str.swapcase() 将字符串中大写转换为小写,小写转换为大写
str.strip("chars") 去除两端的特殊字符
str.lstrip("chars") 去除左端的特殊字符
str.rstrip("chars") 去除右端的特殊字符
replace(old, new [, max]) 把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次