依旧是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'x\e91\e23\e12\e32'
          编码方式是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))
View Code

周六

没错,今天是周六,懒散的一天啊啊啊啊,就过了这么点内容,早上起来就十点多了,卧槽  我昨天睡得也挺早啊,,,难道睡得多是小仙女的通病 嘿嘿嘿,我会坚持下去的  fighting

posted on 2018-08-25 18:24  蒋丞丞  阅读(135)  评论(0编辑  收藏  举报