计算机存储数据只能存数字(存的是数字的二进制补码)
1.字符编码 :
- 为了你能够让计算机存储文字符号,给每个符号对应了一个固定的数字,每次在需要存储这个符号的时候,就去存储这个固定的数字。
每个对应的那个数字就是这个符号的编码值
2.编码表 - 保存字符和字符对应编码值的表
- ASCII码表
- 美国信息码(只包含了美国人常用的符号,总共128个)
数字字符
大写字母(A - 65)
小写字母(a - 97)
英文输入法下的特殊符号
-
Unicode编码表(Python)
- 包含了世界上所有的国家所有的民族的所有的语言符号
Unicode编码表包含了ASCII (前128个字符就是ASCII码表中的内容)
- 包含了世界上所有的国家所有的民族的所有的语言符号
-
ord(字符)
- 获取指定字符对应的编码值
注意:字符指的是长度为1的字符串
- 获取指定字符对应的编码值
-
编码字符
- \u + 4位的16进制编码值
- 在字符串中提供字符的方式有两种:a.直接提供字符 b.使用编码字符
- hex(10进制数) - 获取指定数字对应的16进制表示方式
-
如果知道字符编码值是多少,但是不知道字符是什么的时候,就可以使用编码字符来表示这个字符
str2 = ‘\u0061\u9fa5’
print(str2)
3.获取字符
-
获取单个字符
- 字符串[下标]
-
字符串切片
- 字符串[开始下标:结束下标:步长]
-
遍历字符串
- for x in str1:
print(x)
- for x in str1:
4.字符串操作
-
字符串加法运算 - 字符串拼接
- 字符串1 + 字符串2 - 将两个字符串合并成一个字符串
-
字符串乘法运算
- 字符串 * N、 N * 字符串 - 让字符串中元素重复N次产生一个新的字符串
-
字符串比较运算
-
比较是否相等: ==、!=
-
比较大小:
两个字符串比较大小,比较的是第一对不相等的字符的编码值的大小 -
判断字符的性质:
是否是数字字符:‘0’ <= x <= ‘9’
是否是小写字母:‘a’ <= x <= ‘z’
是否是大写字母:‘A’ <= x <= ‘Z’
是否是字母:‘a’ <= x <= ‘z’ or ‘A’ <= x <= ‘Z’
是否是中文:‘\u4e00’ <= x <= ‘\u9fa5’
-
-
in 和 not in
- 字符串1 in 字符串2 - 字符串1是否是字符串2的子串(字符串2是否包含字符串1)
-
相关函数
- max、min、sorted
- len(字符串)
- str(数据) - 任何类型的数据都可以转换成字符串;转换的时候是在数据的打印值外面加引号
- eval(字符串) - 去掉字符串的引号,获取引号中表达式的结果
5.字符串方法
-
字符串.join(序列)
- 将序列中的元素用指定的字符串连接成一个新的字符串(序列中的元素必须全部都是字符串)
-
字符串1.count(字符串2)
- 统计字符串1中字符串2的个数
-
字符串1.split(字符串2)
- 将字符串1中所有的字符串2作为切割点对字符串1进行切割
-
字符串1.split(字符串2, N)
- 将字符串1中前N个字符串2作为切割点对字符串1进行切割
-
字符串1.replace(字符串2, 字符串3)
- 将字符串1中所有的字符串2都替换成字符串3
-
字符串1.replace(字符串2, 字符串3, N)
- 将字符串1中前N个字符串2都替换成字符串3
-
字符串.strip() - 去掉字符串前后的空白字符
-
字符串.isupper() - 判断字符串是否是纯大写字母字符串
-
字符.isupper() - 判断字符是否是大写字母
-
字符串.islower() - 判断字符或者字符串是否全是小写字母
-
字符串.isdigit() - 判断字符或者字符串是否全是数字字符
-
字符串.upper() - 字母大写化
-
字符串.lower() - 字母小写化
-
判断char是否是字母
-
char = ‘2’
if char.islower() or char.isupper():
print(‘是字母’)
else:
print(‘不是字母’)
-
6.format字符串
-
字符串拼接
- msg = name + ‘今年’ + str(age) + ‘岁,月薪:’ + str(money) + ‘元!’
-
格式字符串 - 包含格式占位符的字符串
-
语法:包含格式占位符的字符串 % (数据1, 数据2, 数据3,…)
注意:()中的数据必须和前面字符串中的占位符一一对应
常见的格式占位符:
%s - 可以给任何类型的数据占位
%d - 可以给任何数字占位(整数占位符,如果给的数字是小数,会自动转换成整数在 拼接到字符串中)
%f - 可以给任何数字占位(浮点数占位符)
%.Nf - (控制保留N位小数 - 默认是保留6位小数) -
msg = ‘%s今年%d岁,月薪:%.2f元!’ % (name, age, money)
-
-
f-string
- 在字符串的最前面(引号的前面)加f,就可以在字符串中通过 {表达式} 中表达式的结果来给字符串提供内容
- msg = f’{name}今年{age}岁,月薪:{money}元!’
-
{表达式:.Nf} - 控制小数保留N位小数
-
{表达式:.N%} - 控制数字显示成百分比,N空值百分比的小数位数
-
{表达式:,.Nf} - 标准的金额拼接
- d = 3578000
print(f’¥{d:,.2f}') - ¥356,800.00
- d = 3578000