1.数据类型的补充python
2.数据类型之间的转化api
3.编码的进阶网络
1.is id ==app
2.代码块:(文件,函数,模块,类)函数
3.set集合性能
set = set({})测试
set = {}编码
列表去重code
关系测试对象
4.深浅copy
数据类型的补充
str
首字母大写,其他的小写:
# s = 'tai1 BAi' # print(s.capitalize())
大小字母反转
# s = 'tai1 BAi' # print(s.swapcase())
非字母之间隔开的,首字母都大写,其他的小写
# s = 'tai1 BAi' # print(s.title())
内同居中,总长度,空白处填充
# s = 'tai1 BAi' # print(s1.center(20)) # print(s1.center(20,'*'))
元组:元组中若是只有一个元素且没有逗号,那么该元素和数据类型一致
列表:循环一个列表时,最好不要改变列表的大小,这样会影响最终的结果
# 列表升序 降序 反转 # list = [1,2,3,1] # list.sort() # # list.sort(reverse=True) # list.reverse() # print(list)
字典 update 有则改之,无则加之
# dic = {'name': '魔童', 'age': 18} # dic.update(name='魔童1号',hight='175') # # print(dic)
# dic = {'name': '魔童', 'age': 18} # dic1 = {'name':'魔童1号','hobby':'美女'} # dic.update(dic1)
# fromkeys # dic = dict.fromkeys('abc','魔童') # dic = dict.fromkeys([1,2,3],[]) # {1: [], 2: [], 3: []} # dic[1].append(66) # # {1: [66], 2: [66], 3: [66]} # print(dic)
数据类型的转换
# str - bytes s = '中国' b = s.encode('utf-8') # 编码 # b'\xe4\xb8\xad\xe5\x9b\xbd' # print(a) print(b)
# bytes - str b = b'\xe4\xb8\xad\xe5\x9b\xbd' # 解码 s = b.decode('utf-8') print(s)
转化成bool值为False的数据类型有:
'', 0, (), {}, [], set(), None
数据类型的分类(了解)
编码的进阶
ASCII码:包含英文字母,数字,特殊字符与01010101对应关系。
a 01000001 一个字符一个字节表示。
GBK:只包含本国文字(以及英文字母,数字,特殊字符)与0101010对应关系。**
a 01000001 ascii码中的字符:一个字符一个字节表示。
中 01001001 01000010 中文:一个字符两个字节表示。
a 01000001 01000010 01000011 00000001
b 01000001 01000010 01100011 00000001
中 01001001 01000010 01100011 00000001
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'hello'
数据类型的补充:list(sort reverse 列表的加 * 循环问题) dict (updat 循环)
编码的进阶:bytes类型的存在乎义 str - bytes(Unicode - 非Unicode)
gbk - utf-8 **** 要转化为Unicode再去转换