一、字符串编码格式简介
-
ASCII码采用1个字节来对字符进行编码,仅对10个数字、26个大写英文字母、26个小写英文字母及一些其他符号进行了编码。
-
GB2312是我国制定的中文编码,使用1个字节表示英语,2个字节表示中文;GBK是GB2312的扩充,而CP936是微软在GBK基础上开发的编码方式。GB2312、GBK和CP936都是使用2个字节表示中文。
-
UTF-8对全世界所有国家需要用到的字符进行了编码,以1个字节表示英语字符(兼容ASCII),以3个字节表示中文,还有些语言的符号使用2个字节(例如俄语和希腊语符号)或4个字节。
二、字符串格式化
1.使用format方法进行格式化
"The number {1:,} in hex is: {1:#x}, the number {0} in oct is {0:o}".format(5555,55)
"my name is {name}, my age is {age}, and my QQ is {qq}".format(name="Yu Yunfei", age=24, qq="2960511894")
输出:
The number 55 in hex is: 0x37, the number 5555 in oct is 12663
my name is Yu Yunfei, my age is 24, and my QQ is 2960511894
2.格式化的字符串常量
输入:
name = 'Fei'
age = 24
f'My name is {name}, and I am {age} years old.'
输出:
'My name is Fei, and I am 24 years old.'
三、字符串方法
1.find()、rfind()、index()、rindex()、count()
-
find()和rfind方法分别用来查找一个字符串在另一个字符串指定范围(默认是整个字符串)中首次和最后一次出现的位置,如果不存在则返回-1;
-
index()和rindex()方法用来返回一个字符串在另一个字符串指定范围中首次和最后一次出现的位置,如果不存在则抛出异常;
-
count()方法用来返回一个字符串在当前字符串中出现的次数。
2.split()、rsplit()、partition()、rpartition()、join()
-
split()和rsplit()方法分别用来以指定字符为分隔符,把当前字符串从左往右或从右往左分隔成多个字符串,并返回包含分隔结果的列表;
-
partition()和rpartition()用来以指定字符串为分隔符将原字符串分隔为3部分,即分隔符前的字符串、分隔符字符串、分隔符后的字符串,如果指定的分隔符不在原字符串中,则返回原字符串和两个空字符串。
-
join()以指定的字符串为连接符,把多个字符串连接为一个字符串。
3.s.startswith(t)、s.endswith(t)
判断字符串是否以指定字符串开始或结束
4.center()、ljust()、rjust()
返回指定宽度的新字符串,原字符串居中、左对齐或右对齐出现在新字符串中,如果指定宽度大于字符串长度,则使用指定的字符(默认为空格)进行填充。
5.strip()、rstrip()、lstrip()
去除两边(左、右)空格或指定字符
6.lower()、upper()、capitalize()、title()、swapcase() 大小写操作
输入:
s = "What is Your Name?"
s.lower() #返回小写字符串
输出:
'what is your name?'
输入:
s = " abc "
s.strip() #删除空白字符
输出:
'abc'
输入:
s = 'Beautiful is better than ugly.'
s.startswith('Be') #检测整个字符串
输出:
True
输入:
'Hello world!'.center(20) #居中对齐,以空格进行填充
输出:
' Hello world! '
四、字符串对象运算符
Python字符串支持加法运算符,表示两个字符串连接,生成新字符串。
Python字符串支持与整数的乘法运算,表示序列重复,也就是字符串内容的重复,得到新字符串。
可以使用in测试一个字符串是否为另一个字符串的子串。
字符串也支持关系运算符。
五、适用于字符串的内置函数
输入:
x = 'Hello world.'
print(len(x)) #字符串长度
print(max(x)) #最大字符
print(min(x)) #最小字符
print(list(zip(x,x))) #zip()也可以作用于字符串
print(sorted(x))
输出:
12
'w'
' '
[('H', 'H'), ('e', 'e'), ('l', 'l'), ('l', 'l'), ('o', 'o'), (' ', ' '), ('w', 'w'), ('o', 'o'), ('r', 'r'), ('l', 'l'), ('d', 'd'), ('.', '.')]
[' ', '.', 'H', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r', 'w']