依旧是python基础
编码
ascii
一个字符,1个字节
unicode
一个字符32位,4个字节
utf-8
一个英文字符 1个字节
一个中文字符 3个字节
gbk
一个英文字符 1个字节
一个中文字符 2个字节
各个编码之间的二进制是不能互相识别的,会产生乱码
文件的储存和传输不能是unicode
只有编码方式是utf-8,gbk,gb2312,ascii等才能用于文件的传输和存储
python3中的编码
在python3中str在内存中使用unicode编码的
所有的文件都是由字符串存储的
''' 对于英文:str的表现形式:'jcc’ 编码方式是unicode编码的二进制 bytes的表现形式:b'jcc' 编码方式是utf-8,gbk,gb2312等编码的二进制 对于中文:str的表现形式:'蒋丞丞' 编码方式是unicode编码的二进制 bytes的表现形式:b'xe91e23e12e32' 编码方式是utf-8,gbk,gb2312等编码的二进制 在文件存储的时候不可能以编码方式为unicode的str的形式存储,浪费空间, 所以以byte形式存储,中文bytes类型的表现形式难以识别和书写, 所以存储数据时要将str转换成bytes形式 ''' s1 = '蒋丞丞' s11 = s1.encode('gbk')#str-->bytes print(s11,type(s11))
enumerate
# enumerate() goods = [ {'name':'ipone','price':1000}, {'name':'iponex','price':2000}, ] for i,k in enumerate(goods):#i表示序号 print('序号{},名称{},价格{}'.format(i,k['name'],k['price']))
集合
可变的数据类型
里面存储的元素必须是不可变的数据类型
无序
元素不重复
常用操作
#创建一个集合 set1 = set({1,2,3}) set2 = {4,2,3} #增加 set1.add('jcc') set1.update('jiang')#将可迭代对象逐一添加到set #删除 set1.pop()#随机删除,返回被删除对象 set1.remove('i')#按元素删除 set1.clear()#清空集合 del set1#删除整个集合 #查询 for i in set1: print(i) #求交集 set1 &set2 set1.intersection(set2) #求并集 set1|set2 set1.union(set2) #反交集-->除下共有的元素 set1^set2 set1.symmetric_difference(set2) #差集 set1独有的 set1-set2 set1.difference(set2) #不可变set forzenset,无序 s = frozenset('jcc') print(s,type(s))
周六
没错,今天是周六,懒散的一天啊啊啊啊,就过了这么点内容,早上起来就十点多了,卧槽 我昨天睡得也挺早啊,,,难道睡得多是小仙女的通病 嘿嘿嘿,我会坚持下去的 fighting