Day10-字符串
1.ASCII表
-
总共128个字符
-
数字在大写字母的前面(A-65);大写字母在小写字母的前面(a-97);大写字母和小写字母之间有其他符号
2.unicode
-
unicode是ASCII表的拓展
-
unicode是包含世界上所有国家所有名族的所有语言对应的字符(总共6万多字符)
-
中文编码范围:4e00 - 9fa5
3.字符编码值在python中的运用
-
a.编码值先关函数
-
chr函数 --获取指定编码值对应的字符
print(chr(97)) # 'a' # 在程序中直接使用十六进制数:0x数字-------0x将16进制转换为10进制 # for x in range(0x4e00, 0x9fa5+1): # print(chr(x), end=' ')
-
ord函数
print(orb('a')) # 97
-
-
b.编码字符:\u四位的十六进制编码
每一个字符在字符串中表示的时候又两种表示方式:
a:直接写字符 b:写编码字符
print('A \u0041') #A A 判断一个字符是否是中文 print('\u4e00' <= x <= '\u9fa5')
4.字符基本操作
-
1.查----获取字符串中的元素
- 查单个:srt[index]----注意任意一个转义字符的长度都是1
- 切片
- 遍历
-
2.相关操作
-
1.+,*
-
2.比较运算
- 判断是否是数字
- 是否是大写字母:‘0’<= x <= ‘9’
- 是否是字母:‘a’ <= x <= ‘z’ or ‘A’ <= x <= ‘Z’
- 是否是中文:‘\u4e00’ <= x <= ‘\u9fa5’
- 比较大小:比较第一对不相等的字符的编码值大小
-
3.in 和 not in
字符串1 in 字符串2 -----判断字符串2是否存在于字符串1中
print('a' in 'abc') # True print('ab' in 'abc') # True print('bc' in 'abc') # True print('ac' in 'abc') # False
-
5.相关函数
-
1.len(字符串)—统计字符串的长度(转义字符长度为1,一个空格长度也是1)
-
2.str(数据)-------将指定数据转换成字符串
-
所有类型的数据都可以转换成字符串
-
转换的时候直接在数据的打印值外面加引号
list1 = [10,20,30] print(list1)-------[10, 20, 30]
-
6.字符串格式化
-
方法1 ---------- 用+做字符串拼接
# xxx今年xx岁,月薪:xx元。 message = name + '今年' + str(age) + '岁,月薪:' + str(money) + '元。'
-
方法2------------使用格式字符串
格式字符串:包含格式占位符的字符串 % (数据1 ,数据2,数据3…)
%s------字符串占位符:可以给任何类型的数据占位
%d------整数占位符;可以给任何数字占位
%f------浮点数占位符;可以给任何数字占位(%.Nf 控制保留小数位)
()中的数据和前面字符串的占位一一对应
message = '%s今年%d岁,月薪:%.2f元。' % (name, age, money)
-
方法3--------------f字符串
语法:f’{提供数据的表达式}':在字符串中用{}来表示字符串中变化的部分,{}中表达式的值就是变化的内容
message = f'{name}今年{age},月薪:{money}元。'
-
控制小数位数:{提供数据的表达式:.Nf}
message = f'年薪: {money * 13:.2f}元'
-
大数据分段显示: {提供的数据表达式: , }
message = f'年薪: {money * 13:,}元'----# 年薪: 7,371,000元 message = f'年薪: {money * 13:,.2f}元'----# 年薪: 7,371,000.00元
-
百分比显示:{提供数据的表达式:.N%}
rate = 0.236 message = f'增长率:{rate:.2%}'
-