基础数据类型的补充,转换分来以及编码的进阶
基础数据类型的补充
-
str补充方法练习一遍
- capitalize 首字母便大写,其他字母变小写
- swapcase 大小写互换
- title 首字母大写
- center 居中
- find 通过元素找索引.找到第一个就返回,找不到就返回-1
- index 通过元素找索引.找到第一个就返回,找不到就报错
-
元组
- 元组中如果只有一个元素,并且没有逗号.那么他不是元组.它与该元素的数据类型一致
- count 计算某元素在列表出现的次数
- index 通过元素找索引
-
列表
- sort 列表默认从小到大排序(reverse = True 从大小到小)
- reverse() 反转 [1,2,3] 反转之后 [3,2,1]
- 列表可以与列表相加,列表可以与数字相乘
-
字典
- 循环字典时不能改变字典的长度
数据类型的转换
数据类型的分类
编码的进阶
- 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等).
-
bytes 一个数据类型.与str基本一样..
英文:
只有bytes 才能进行网络传输和存储str: 'hello '
内存中的编码方式: Unicode
表现形式: 'hello'
bytes :
内存中的编码方式: 非Unicode
表现形式:b'hello'
中文:
str:
内存中的编码方式: Unicode
表现形式:'中国'
bytes :
内存中的编码方式: 非Unicode # Utf-8
表现形式:b'\xe4\xb8\xad\xe5\x9b\xbd'
-
str ------> bytes
s1 = "中国" b = s1.encode("utf-8") 转换成utf-8数据类型的bytes类型 b1 = b"\xe4\xb8\xad\xe5\x9b\xbd" s1 = b.decpde("utf-8")
今日总结
- 变量 指向的是数据.
- 循环一个列表时,最好不要改变列表的大小.会影响你最终的结果.
- 数据类型的补充:列表(sort,revrse.列表+ ,循环问题),字典(update.循环问题.).**
- 编码的进阶:bytes为什么存在.str转换成bytes(Unicode----->非Unicode)
- gbk<----->utf - 8