1.什么是字符串 str
1)字符串是容器型数据类型 将’’、 、’’’’’’、“”“”“”作为容器标志。里面直接是多个符号 每个符号就是字符串的一个元素 ‘元素1元素2元素3…’
2)字符串是不可变的 字符串是有序的
3 对元素的要求 所有的符号都可以作为字符串的元素 字符串中的元素又叫字符 字符分为普通字符和转义字符
# 1)字符串的元素 字符 可以是任意符号 str1 123adfSACVD $%我的未来不是梦 # 2 空字符串 # 单引号和双引号没区别 换行可借助转义字符 str1 str2 # 三个单引号和三个双引号没区别 可以不借助转义字符直接换行 str3 str4
# 3)多行字符串 str1 abc # 4)字符串是有序的 print( abc acd ) # False2字符串中的元素 - 字符
1 普通字符 符号在字符串中表示符号本身的字符就是普通字符
2 转义字符 在特定符号前加表示特殊的功能或者特殊意义的字符
n - 换行 t - 水平制表符 相当于Tab键 - 表设计一个普通的单引号 - 表示一个普通的双引号 \ - 表示一个普通的反斜杠 str1 abcn123 str2 tabct123n456
# u四位的十六进制数 - 编码字符 四位的十六进制的字符编码 str1 u4e00abc print(str1) # 一abc3字符编码
1 计算机在存储数据的时候只能存数字 数字的二进制补码
2 为了能够让计算机存储字符 给每一个字符对应一个固定数字。每次在存储这个字符的时候就存储这个字符对应的数字 每个字符对应的数字就是这个字符的编码值
4编码表常用的编码表 ASCII码表、Unicode编码表 Python
1 ASCII码表
a.只记录了美国的符号 没有记录中文
b.数字字符 48 ~ 57 在大写字母 65 ~ 90 的前面 大写字母在小写字母 97 ~ 122 的前面 并且这三类符号之间不连续。
2 Unicode编码表
a.是ASCII码表的扩展 包含了ASCII码表 记录了世界上所有国家所有民族的所有语言的符号。
b.中文范围 4e00 ~ 9fa5
a 0x9fa5 - 0x4e00 print(a) # 209015编码值的使用
1 chr函数
chr(编码值) 获取编码值对应的字符
print(chr(97)) # a print(chr(0x5fa5)) # 徥
# 练习;打印所有的中文 count 0 for x in range(0x4e00, 0x9fa5 1): count 1 print(chr(x), end ) if count 20: print() count 0
2 ord函数
ord(字符) 获取字符对应的编码值
print(ord( a )) # 97
3 编码字符
u四位的十六进制编码值
print( au0061 ) # aa # 判断下列字符是否是中文 if u4e00 c u9fa5 : print( 是中文 )
补充 进制
1 十进制
基数 0 ~ 9 表示方式 直接写 转换函数:直接用print(数据)函数进行打印即可 num 123 print(num) # 123
2 二进制
基数 0 ~ 1 表示方式 加前缀0b/0B 转换方式 bin(数据) - 将数据转换成二进制 num 0b101 print(num) # 5 print(bin(6)) # 0b110
3 八进制
基数 0 ~ 7 表示方式;0o/0O 转换函数 oct(数据) num 0o23 print(num) # 19 print(oct(19)) # 0o23
4 十六进制
基数 0 ~ 9 a ~ f (A ~ F) 表示方式 加前缀0x/0X 转换函数 hex(数据) num 0xaf2 print(num) # 2802 print(hex(15)) # 0xf6字符串相关操作和相关函数
1.查 - 获取字符
字符串获取字符和列表获取元素的语法一样
注意 一个转义字符的长度是1
str1 how are you? i am fine! thank you! and you? print(str1[2:]) # w are you? i am fine! thank you! and you? print(str1[1:7:2]) # o r print(str1[1:6]) # ow ar print(str1[-1:2]) # 空字符串
2. 、*
print( abc hello ) # abchello print( abc * 3) # abcabcabc
3.比较运算
1 两个字符串比较大小 比较的是第一对不相等字符的编码值得大小
2 两个字符比较大小 比较的是字符的编码值的大小
一个字符x 判断是否是数字字符 - 0 X 9 判断是否是小写字母 - a x z 判断是否是大写字母 - A x Z 判断是否是字母 a x z or A x Z 判断是否是中文 u4e00 x u9fa5
print( abc acb ) # False print( abc Abc123 ) # True print( 你好 hello ) # True
# 练习1;已知一个字符串,统计字符串中文出现的次数 str1 - sh是uM09K你好! count 0 for x in str1: if u4e00 x u9fa5 : count 1 print( str1中中文出现的次数为: , count)
# 练习2:判断指定字符串是否是纯数字字符串 # 234445 -- 是 122h333 -- 不是 str2 input( 请输入字符串: ) for x in str2: if not 0 x 9 : print( 不是纯数字字符串 ) break else: print( 是纯数字字符串 )
4.in 和 not in
字符串1 in 字符串2 判断字符串1是否是字符串2的子串
print( a in abc123 ) # True print( ac in abc123 ) # False print( abc in abc123 ) # True
5.相关函数
1 len(字符串) 获取字符串的长度
2 str(数据) 将数据转换成字符串 python中的任何类型的数据都可以转换成字符串 转换的时候直接在数据的打印值外面加引号
print(str([10, 20])) # [10, 20]
print(str{ a : 10, b : 20}) # { a : 10, b : 20}



