基础数据类型补充以及python编码
基础数据类型补充
str补充方法
- capitalize 首字母便大写,其他字母变小写
- swapcase 大小写互换
- title 首字母大写
- center 居中
- find 通过元素找索引.找到第一个就返回,找不到就返回-1
- index 通过元素找索引.找到第一个就返回,找不到就报错
元组补充方法
- 元组中如果只有一个元素,并且没有逗号.那么他不是元组.它与该元素的数据类型一致
- count 计算某元素在列表出现的次数
- index 通过元素找索引
列表补充方法
- sort 列表默认从小到大排序(reverse = True 从大小到小)
- reverse() 反转 [1,2,3] 反转之后 [3,2,1]
- 列表可以与列表相加,列表可以与数字相乘
字典补充
迭代创建字典key(value值固定)
dict.fromkeys(iterable,value)
s=[1,2,3,4]
r=dict.fromkeys(s,"ttt")
r为:{1: 'ttt', 2: 'ttt', 3: 'ttt', 4: 'ttt'}
循环字典时不能改变字典的长度!!!!十分重要!!!
编码初始
- ASCII码:包含英文字母,数字,特殊字符与01010101对应关系。
a 01000001 一个字符一个字节表示。
- GBK:只包含本国文字(以及英文字母,数字,特殊字符)与0101010对应关系。
a 01000001 ascii码中的字符:一个字符一个字节表示。
中 01001001 01000010 中文:一个字符两个字节表示。
- Unicode:包含全世界所有的文字与二进制0101001的对应关系。
a 01000001 01000010 01000011 00000001
b 01000001 01000010 01100011 00000001
中 01001001 01000010 01100011 00000001
- UTF-8:包含全世界所有的文字与二进制0101001的对应关系(最少用8位一个字节表示一个字符)。
a 01000001 ascii码中的字符:一个字符一个字节表示。
To 01000001 01000010 (欧洲文字:葡萄牙,西班牙等)一个字符两个字节表示。
中 01001001 01000010 01100011 亚洲文字;一个字符三个字节表示。
- 不同的密码本之间不能互相识别.
- 数据在内存中全部都是以Unicode编码的.,但是当你的数据的用于网络传输或者存储在硬盘中,必须是以非Unicode编码(utf-8,gbk等).
不同数据类型的编码方式
str: 'hello '
内存中的编码方式: Unicode
表现形式: 'hello'
bytes :
内存中的编码方式: 非Unicode
表现形式:b'hello'
中文:
str:
内存中的编码方式: Unicode
表现形式:'中国'
bytes :
内存中的编码方式: 非Unicode # Utf-8
表现形式:b'\xe4\xb8\xad\xe5\x9b\xbd'
特殊的数据类型bytes
与str基本一样。区别是str不能进行网络传输,bytes类型可以进行网络传输
str--->bytes
s1 = "中国"
b = s1.encode("utf-8")
转换成utf-8数据类型的bytes类型
b1 = b"\xe4\xb8\xad\xe5\x9b\xbd"
s1 = b.decpde("utf-8")