s.encode('utf-8') 编码
s.decode('utf-8') 解码 python
s = 'alex' s1 = s.encode('utf-8') print(s1.decode('gbk')) 不能!不能!不能! s = 'alex' s.encode('utf-8') 编码 utf-8包含了ASCII s.decode('gbk') 解码 gbk也包含了ASCII 应用场景:文件操做,网络传输,网络编程
1. 列表不能循环添加,不然会变成死循环编程
li = [1,2] li[1] = li print(li) 结果是:[1,[...]]
2.利用for循环删除列表内容:(不能用remove)网络
pop删除: li = [1,2,3,4,5,6] for i in range(len(li)): li.pop() print(li) 赋值删除:(偷换概念) lst1 = [1,2,3,4,5,6] lst2 = [] for i in lst1: lst2.append(i) for n in lst2: lst1.remove(n) print(lst1)
3. for循环删除字典内容:(dic中的元素在迭代的过程当中不容许进行删除)app
dic = {'':'','':''} lst = [] for i in dic: lst.append(i) 获取到的是字典的键 for n in lst: dic.pop(n) print(dic)
4. fromkeys( ,''):函数
dic = {'jay':'jj'} dic = dic.fromkeys(['jay','jj'],['周杰伦','麻花藤']) print(dic) 第一个位置是可迭代对象,也就是字典的键 第二个位置 不写是None 也就是字典的值
浅拷贝:
只拷贝一层,元素是不可变的,就不会变;若是是可变数据,元素同时变;
li = [1,2,3,4]
lst = li(跟着变) 赋值编码
深拷贝: import copy(模块)
不可变数据类型公用,可变数据类型从新开辟空间
copy.deepcopyspa
is: 判断两边的内存地址是否一致; 是否是一我的 code
==: 判断两边的值是否相同 判断两人长得是否是同样 对象
一个文件,函数,模块,类,但cmd中一行就是一个代码块,是python中内置的,为了节省资源,提升效率 blog
数 字: 范围 -5至256 字符串: 若是字符串相乘,总长度不能超过20
(代码块的级别高于小数据池,同一文件下,先执行代码块,再执行小数据池)
字符串转列表: s = '1111,2222,333,4444' print(s.split(",")) 列表转字符串: lst = ['1','22','333'] print(''join(lst)) 列表和元祖互转: lst = ['1','22','333'] 列表转元祖 print(tuple(['1','22','333'])) 元祖转列表 print(list('1','22','333')) 在转换字典时,由字典的键当作列表和元祖的元素 字典能够转成其余数据类型,但其它数据类型不能转换为字典
可变的数据类型: 列表,字典,集合
不可变的数据类型: 字符串,整型,布尔值,元组
可迭代的数据类型: 字符串,列表,字典,元组,集合
不可迭代的数据类型: 整型,布尔值
有序的数据类型: 列表,元组
无序的数据类型: 字典,集合