字符串
1. 什么是字符串
- 容器型数据类型;将’‘或者""或者’’’’’‘或者""""""作为容器标志,引号中每个符号就是字符串的元素。(’’’’’'和""""""在表示字符串内容的时候换行可以不使用转义字符,而是直接按回车)
- 字符串不可变(不支持增删改);
- 字符串有序(支持下标操作);
- 元素:引号中的单独的每个符号都是字符串的元素(又叫字符 ),可是任何符号。
- 字符分为两类:普通字符(表示符号本身)、转义字符(表示其他特殊意思功能,例:\n表示换行)
str1 = '315'
str2 = "abc"
str3 = '''abc
456'''
str4 = """zxc
123
789"""
print(str1, str2, str3, str4)
2. 字符串的元素 - 字符
字符:普通字符、转义字符
转移字符 - 在特定符号前加\让符号具备特殊的功能,常用转移字符:
"""
\n - 换行
\t - 水平跳格
\' - 普通单引号
\" - 普通双引号
\\ - 一个普通反斜杠
"""
# \u四位的十六进制数 - 编码字符
print('\u5805') # 堅
print('\u4eff') # 仿
print('\u1000') # က
3. 字符编码
3-1 编码
- 计算机只能直接存储数字(而且保存的狮子的二进制的补码),文字符号是无法直接存储到计算机中的。
- 为了能够让计算机具备存储文字符号的能力,我们给所有的文字符号对应的一个固定的数字,每次要存储符号的时候就把符号对应的数字存起来。
- 符号对应的数字就是符号的编码值
3-2 编码表
编码表 - 保存符号和数字的对应关系的表
1)ASCII码表
- 总共有128个字符(美国符号)
- 数字编码从48开始,大写字母A从65开始,小写字母a从97开始
2)Unicode(python)
Unicode - 统一码,又叫万国码
- Unicode编码表是对ASCII表的扩展,包含了世界上所有的国家所有的民族所有语言的符号,总共:65536个。
- 中文范围(十六进制):4e00 ~ 9fa5
- 其它国家民族文字符号范围请网上查阅
3)编码值在python中的使用
- chr函数:chr(编码值) - 获取编码值对应的字符
- ord函数:ord(字符) - 获取字符的编码值
- 编码字符:\u4e00(必须是4位的十六进制数)
注意:python中需要字符的地方都必须使用长度为1的字符串赋值
print(chr(0x4e56), chr(26106), chr(20180)) # 乖 旺 仔
print(ord('旺'), ord('仔')) # 26106 20180
"""
乖 旺 仔
26106 20180
"""
4. 字符串相关操作
4-1 查 - 获取字符
# 字符串获取字符的语法和列表获取元素的语法一样
str1 = 'abc\n123\'++--'
print(str1[2], str1[-1]) # c -
4-2 数学运算符
数学运算符:+、*
print('hello' + 'word') # helloword
print('hello' * 2) # hellohello
# 实例:提取字符中小写字母
# 'ss试试看78,mvn0-k=上课23' -> 'ssmvnk'
str2 = 'ss试试看78,mvn0-k=上课23'
str3 = ''
for x in str2:
if 'a' <= x <= 'z':
str3 += x
print(str3) # ssmvnk
4-3 比较运算符
1)比较相等:==、!=
print('abc' == 'acb') # False
print('abc' != 'acb') # True
2)比较大小:>、<、>=、<=
- 字符串比较大小,根据数字编码相比较,比较第一对值得大小
"""
char = ?
判断是否小写字母: 'a' <= char <= 'z'
判断是否大写字母: 'A' <= char <= 'Z'
判断是否数字字符: '0' <= char <= '9'
判断是否字母:'a' <= char <= 'z' or 'A' <= char <= 'Z'
判断是否中文:'\u4e00' <= char <= '\u9fa5'
"""
print('aA' > 'ab') # True
print('你好' > 'ab') # True
print('123' > 'a123') # False
实例
# 例子:
# 1)统计中文字符的个数
# 2)打印字符串中所有的数字字符
<