数据类型的补充
数据类型的补充
str
- capitalize 首字母大写,其余变成小写
- swapcase 大小写翻转
- title 每个单词的首字母大写
- center(20,'*') 居中
- find('x') 通过元素找出索引,找到第一个就返回,找不到就返回-4
- index('x') 通过元素找出索引,找到第一个就返回,找不到就报错
元组
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。- 元组中如果只有一个元素,并且没有逗号,那么它不是元组它与该元素的数据类型相同
- count 计数
- index
列表
sort 默认从小到大排序
sort(reverse = True) 从大到小排序
reverse 翻转列表
列表可以相加
列表可以与数字相乘
将列表奇数位元素删除
l = [11, 22, 33, 44, 55] for i in range(len(i)-1,-1,-1): if i % 2 == 1: l.pop(i) print(l) l1 = [] for i in range(len(i)): if i % 2 == 0: l1.append(l[i]) print(l1) l = l1 print(l)
字典
update 有则改之,无则增加
dic.update([(1, 'a'),(2, 'b'),(3, 'c'),(4, 'd')]) print(dic)
更新
fromkeys
dic = dict.fromkeys([1,2,3],[]) dic[1].append(666) print(dic)
将字典中带有k的删除
l1 = [] for key in dic: if 'k' in key: l1.append(key) print(l1) for i in l1: dic.app(i) print(dic) for key in list(dic.keys()): if 'k' in key: dic.pop(key) print(dic)
编码的进阶
不同的密码本不能相互识别
数据在内存中全部是以Unicode编码的,但当你的数据用于网络传输或存储到硬盘中时,必须是以非Unicode编码
英文:str: 'hello '
内存中的编码方式: Unicode
表现形式: 'hello'
bytes :
内存中的编码方式: 非Unicode
表现形式:b'hello'
中文:str:
内存中的编码方式: Unicode
表现形式:'中国'
bytes :
内存中的编码方式: 非Unicode # Utf-8
表现形式:b'\xe4\xb8\xad\xe5\x9b\xbd'
转换
# str ---> bytes\ # s1 = '中国' # b1 = s1.encode('utf-8') # 编码 # print(b1,type(b1)) # b'\xe4\xb8\xad\xe5\x9b\xbd' # # b1 = s1.encode('gbk') # 编码 # b'\xd6\xd0\xb9\xfa' <class 'bytes'> # # bytes---->str # b1 = b'\xe4\xb8\xad\xe5\x9b\xbd' # s2 = b1.decode('utf-8') # 解码 # print(s2) # gbk ---> utf-8 b1 = b'\xd6\xd0\xb9\xfa' s = b1.decode('gbk') # print(s) b2 = s.encode('utf-8') print(b2) # b'\xe4\xb8\xad\xe5\x9b\xb
1. id is ==
- id 相当于身份证,id相同说明变量指向的是同一地址
- == 比较的sh是两边的值是否相等
is 判断的是内存地址是否相同
2.代码块
- 我们所有的程序度需要依赖代码块执行
- 一个文件就是一个代码块
- 交互式命令下,一行代码就是一个代码块
- 同一个代码块下的缓存机制
- 适用对象 int bool str
- 具体规则 所有的数字,bool,几乎所有的字符串
- 优点 提升性能,节省内存
- 不停代码块下的缓存机制。也就是小数据池
- 适用对象 int bool str
- 具体规则 -5~256数字,bool,满足条件的字符串
- 优点 提升性能,节省内存
集合
- 列表的去重
- 关系测试 交集% 并集| 差集 -
深浅copy
- 浅copy:list dict 嵌套的可变数据类型是同一个
- 深copy:list dict 嵌套的ke'b可变数据类型不是同一个

更多精彩