字符串
在python中,字符串是有序不可变序列,字符串取元素、遍历和列表、元组是一致的。同时,字符串元素不能修改。
1.创建字符串
我们可以通过单引号、双引号和三引号创建字符串变量。其中三引号可以用来创建多行字符串。
2.获取字符串
在字符串变量获取单个字符串的操作与列表和元组相同,都是通过下标获取。注意,凡是修改字符串的操作都会产生新的字符串。
例如,对于字符串"hello world",我们获取"e"这个子串,
str1 = "hello world"
print(str1[1])
运行结果如下,
e
3.原生字符
在python中,我们有时在打印系统路径时,会发生下面的情况。
例如,我们要打印路径D:\python\rua,
path = "D:\python_class\rua"
print(path)
运行结果如下,
ua
出现这种情况是由于其中含有"\r"子串的存在,使得系统误判。
这种情况下我们可以对"\"进行转义。
path = "D:\python_class\\rua"
print(path)
运行结果如下,
D:\python_class\rua
但是,这需要我们手动加入"\",费时费力。
此时,我们可以使用原生字符"r",
path = r"D:\python_class\rua"
print(path)
运行结果如下,
D:\python_class\rua
4.字符串的通用操作
字符串的拼接(+)、重复(*)、成员操作(in)、切片和长度判断(len()),与列表和元组操作相同。
5.字符串函数
5.1.字符串的查找和替换
5.1.1.count()
count()函数用于统计字符串中特定子串的出现次数。
例如,分别统计字符串"hello world"中子串"e"和"l"的出现次数,
str1 = "hello world"
print(str1.count("e"))
print(str1.count("l"))
运行结果如下,
1
3
5.1.2.find()
find()函数可以从左向右查找指定子串,如果存在,返回子串下标,不存在返回-1。
例如,分别查找字符串"hello world"中子串"or"和"eo"的下标,
str1 = "hello world"
print(str1.find("or"))
print(str1.find("eo"))
运行结果如下,
7
-1
5.1.3.replace()
replace()函数可以将字符串中的特定子串替换为新子串。
例如,将字符串"hello world"中的子串"world"替换为"student",
str1 = "hello world"
print(str1.replace("world", "student"))
运行结果如下,
hello student
5.2.字符串的分割和组合
5.2.1.split()
split()函数可以按照指定字符串将字符串分割成为一个列表。
例如,将字符串"python is easy to learn"按照空格分割成为一个列表,
str2 = "python is easy to learn"
print(str2.split(" "))
运行结果如下,
['python', 'is', 'easy', 'to', 'learn']
5.2.2.join()
join()函数可以把列表中的字符元素组合成一个字符串。
例如,将列表[‘python’, ‘is’, ‘easy’, ‘to’, ‘learn’]加入空格并组合成为一个字符串,
list1 = ['python', 'is', 'easy', 'to', 'learn']
print(" ".join(list1))
运行结果如下,
python is easy to learn
5.3.字符串的判断
isdecimal()函数可以判断字符串是否有纯数字组成,但是不能判断字节字符串。
isdigit()函数可以判断字符串是否有纯数字组成,同时可以判断字节字符串。
isnumeric()函数可以判断字符串是否有纯数字组成,同时可以检测汉字数字。
isalpha()函数可以判断字符串是否有纯字母组成,同时可以检测汉字。
5.4.字符串转换
5.4.1.大小写转换
lower()函数可以将大写字符转换为小写字符。
upper()函数可以将小写字符转换为大写字符。
例如,分别将字符串"Hello World"转换为全小写和全大写,
str3 = "Hello World"
print(str3.lower())
print(str3.upper())
运行结果如下,
hello world
HELLO WORLD
5.4.2.strip()
strip()函数可以删除字符串两边指定字符,默认删除空白字符(回车、换行、空格、tab)。
例如,删除字符串"aasdkhjaa"两边的a,
str4 = "aasdkhjaa"
print(str4.strip("a"))
运行结果如下,
sdkhj
6.字符串的format格式化
我们可以使用format()将字符串格式化。
例如,
a = 20
b = 34.789
c = 123456789
res = "a = {a}, b = {b}, c = {c}".format(c=c, a=a, b=b)
print(res)
运行结果如下,
a = 20, b = 34.789, c = 123456789
注意,{a} 是指把format参数中参数名为a替换{a} 参数名=值。
format()各个参数详细介绍如下,