更多运维资料,请关注微信公众号:运维之美
1.编码
在python3中,文本使用unicode表示,由str类型表示;
二进制数据则由bytes类型表示
视频文件 二进制存储
文本文件 str存储
网络传输中,数据都是以二进制方式传输
decode解码 bytes----->string
encode编码 string—>bytes
2.列表的使用
列表的创建
方式一:list(‘Hello’) #使用函数list
方式二:使用中括号 A=[]
起始位置包括,结束为止不包括(顾头不顾尾)
name=['ZguangSan','WangYang','YinZi']
print(name[0]) #获取其中一个值
print(name[0:2])#切片
print(name[-1]) #取最后一个
print(name[-2:]) #取最后几位
增加
name.append(“LiHaiJian”) #列表中追加
插入
name.insert(0,“ZhangSanFeng”) #在指定下标插入数值
替换
name=['ZguangSan','WangYang','YinZi']
name[1]="KUNGE"
删除
name.remove(“ZguangSan”) #删值
del name[1] #删下标
name.pop()#默认删除最后一个数值
del name[1]=name.pop()#效果相同
获取数值下标
name.index(“KUNGE”)
print(name.count(“ZguangSan”))
name.reverse()反转
name.sort()
扩展
name.extend(name1) #将name1合并到name中
拷贝
name2=name.copy() #浅拷贝,元组中的子列表不会复制
步长切片
print(name[0: -1:2])
打印列表
for I in name:
print(I)
深拷贝
import copy
name2=copy.deepcopy(name)
3:字符串操作
name="zhang"
print(name.capitalize()) #首字母大写
print(name.count("g")) #统计字母g数量
print(name.center(40,"-")) #name打印居中,总共40位,不够补“-”
格式化输出
name=“zhang is a {a} boy,he is {age} old”
print(name.format(a=“good”,age=28))
‘+’.join([‘1’,‘2’])-----结果1+2
4.字典
字典没有下标,是无序的
info={
'num01':"Apple",
'num02':"Orange",
'num03':"Wine",
}
print(info["num01"])
#修改
info["num01"]="苹果"
print(info)
num01如果存在就是修改,不存在就是增加
4.1 字典删除
#删除
del info[“num02”]
print(info)
#删除方法二
info.pop(“num03”)
print(info)
4.2 访问字典
>>> dict={'name':'zguangj','age':34}
>>> list(dict.items())
[('name', 'zguangj'), ('age', 34)]
>>> list(dict.keys())
['name', 'age']
>>> list(dict.values())
['zguangj', 34]
>>> dict.keys()
dict_keys(['name', 'age'])
>>> dict.values()
dict_values(['zguangj', 34])
5.集合
集合是无序的,索引不能使用索引访问,但是可以使用item遍历
使用set将列表,元组等转换成集合
set{}创建集合,集合元素不能重复
遍历集合
name={1,2,'abc'}
for item in name:
print(item)
求集合的并集,交集和差集
name.add() #集合增加元素
name.remove() #删除元素
name.clear() #清除元素