基础数据类型补充以及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")
posted @ 2019-10-23 11:38  路一  阅读(102)  评论(0编辑  收藏  举报