字符串
1. str
-
文件(函数,类)的开头是注释,其余为字符串
-
字符串中的每个字符都是元素
-
字符串是不可变的
-
字符串是有序的
# 支持下标操作 name = 'sdasjshdhai' print(name[1]) -
元素可以为所有文字符号,空字符串引号中没有任何符号包括空格
-
字符串中的字符分为普通字符和转义字符
# 在特定的符号前加\
2. 转义字符
-
\n换行 -
\t水平制表符(table) -
\'普通的单引号 -
\"普通的双引号 -
\\普通的反斜杠 -
r字符串:让所有字符中所有转义字符变成普通字符
print('c:\names\proms\python\text') print(r'c:\names\proms\python\text') ''' 打印结果: c: ames\proms\python ext c:\names\proms\python\text '''
3.查
- 获取字符
str[n]str[1:9:1](下标操作、切片操作) - 遍历
for str in (strs)for index,str in enumerate (strs)
4.其他操作(和列表一样)
-
加法运算
-
乘法运算
-
比较运算(比较字符编码值的大小)
# 确定字符类型 # 判断x是否是数字字符: '0' <= x <= '9' # 判断x是否是小写字母:'a' <= x <= 'z' # 判断x是否是大写字母:'A' <= x <= 'Z' # 判断x是否是字母:'A' <= x <= 'Z''a' <= x <= 'z' # 判断是否是中文'\u4e00' <= x <= '\u9fa5' -
innot in#判断字符串二中是否包含字符串
5. 相关函数
-
len(字符串)字符串长度 -
str()任何类型的数据都可以转换成字符串(打印结果加双引号,数据内的双引号会变成单引号) -
eval(字符串)去掉字符串的引号得到对应的数据(比如eval(‘10’)结果为10类型为int)a = eval('3 * 5') print(a) # 结果为15
6. 相关方法
-
.join()将序列中的元素用指定字符串连接成一个新的字符串,序列中的元素必须全都是字符串
list1 = ['123','234','qeweqw'] result = '+'.join(list1) print(result) # 结果为123+234+qeweqw # 如果序列内容不是字符串,可以先转换成字符串 list2 = [1,2,3,4,5,6,7,8,9] result1 = '+'.join([str(x) for x in list2]) print(result1) # 结果为1+2+3+4+5+6+7+8+9 -
.count()计数str1 = 'asdafadcasda' str1.count('a') # 结果为5 -
.split(字符串)将字符串按照字符串进行切割,结果返回一个列表str1 = 'a,s/d/a/f/a/d/c/a/s/da' print(str1.split('/')) # 结果为['a,s', 'd', 'a', 'f', 'a', 'd', 'c', 'a', 's', 'da'] print(str1.split('/',3)) # 结果为['a,s', 'd', 'a', 'f/a/d/c/a/s/da'] -
.format()f''字符串格式化name = 'xiaoming' age = 18 print('%s今年%s岁' % (name,age)) print('{}今年{}岁'.format(name,age)) print(f'{name}今年{age}岁') # 结果为:xiaoming今年18岁 -
.replace()替换# 在这里我定义了一个字符串数据,里面有空格 str1 = " 老王 去 小明家 玩耍 小明妈妈做饭 " print(str1) # 这里通过方法.replace把字符串数据中的空格给替换了 print(str1.replace(" ", "")) # 可以通过添加次数的参数来确定替换次数 print(str1.replace(" ", "",3)) # 运行结果为:老王去小明家 玩耍 小明妈妈做饭 -
.strip()删除开头结尾的空格.lstrip()删除开头的空格.rstrip()删除结尾的空格str1 = " 老王去小明家玩耍小明妈妈做饭 " print(str1) # 老王去小明家玩耍小明妈妈做饭 result = str1.strip() print(result) # 老王去小明家玩耍小明妈妈做饭 str1 = "//////老王去小明家玩耍小明妈妈做饭/////" result = str1.strip('/') # 老王去小明家玩耍小明妈妈做饭 -
.isupper()/islower()判断是否为大写字母/小写字母 -
isdigit()判断字符或者字符串是否全是数字字符 -
.lower()把大写字母转换为小写 -
.upper()把小写字母转换为大写
6.字符编码
-
计算机只能存储数字(存的是数字的二进制补码)
-
数字(48-57)大写字母(65-90)小写字母(97-122)
-
中文编码范围(4e00-9fa5)
-
编码值的使用
-
chr(编码值)获取编码值对应的字符 -
ord(字符)获取指定字符对应的编码值(长度为1的字符串) -
字母大小写转换
chr(ord('a')-32) # 结果为A -
编码字符
str1 = 'a' str1 = '\u0061'
-
7. 字符串格式化
-
格式占位符
%s- 可以给任何类型的数据占位%d- 可以给任何数字占位(自动转换为整形)%f- 可以给任何数字占位(自动转换成浮点数,保留六位小数)%.Nf- 可以给任何数字占位(自动转换成浮点数,并保留n位小数)name = 'xiaoming' age = 18 print('%s今年%s岁' % (name,age)) # 结果为:xiaoming今年18岁,想要输入什么样输出什么样子就默认%s print('%s今年%d岁' % (name,age)) # 结果为:xiaoming今年18s print('%s今年%f岁' % (name,age)) # 结果为:xiaoming今年18.000000岁 print('%s今年%.2f岁' % (name,age)) # 结果为:xiaoming今年18.00岁 -
f-stringname = 'xiaoming' age = 18 print(f'{name}今年{age}岁') a = 100.223 b = 1323.12 c = 0.98 print(f'{a:.2f}:{b:.0f}优秀率:{c:.0%}') # 结果为 100.22:1323优秀率:98% money = 105030 print(f'余额:¥{money:,}') # 结果为 余额:¥105,030 print(f'余额:¥{money:,.2f}') # 结果为 余额:¥105,030.00
本文详细介绍了Python中的字符串,包括字符串的注释、转义字符,如
和 ,以及字符串的操作,如下标访问、切片、遍历。此外,还讨论了字符串的其他功能,如加法、乘法、比较运算,以及判断字符类型的条件。文章还涵盖了字符串的相关函数,如len()、str()、eval(),以及方法,如.join()、.count()、.split()、.replace()等。最后,提到了字符串的编码、格式化技巧,包括f-string和传统的%操作符。

被折叠的 条评论
为什么被折叠?



