关于编码
ascii : 8位 1字节 表示1个字符
unicode 32位 4个字节 表示一个字符
utf- 8 1个英文 8位,1个字节
欧洲 16位 两个字节 表示一个字符
亚洲 24位 三个字节 表示一个字符
gbk 1个英文 8位,1个字节
亚洲 16位 两个字节 表示一个字符
由于ascii采用单字节表示,可表达的量有限,而unicode则因为采用4个字节而导致存储量偏大,因此,若需要将数据进行存储,一般使用utf-8编码:
s = 'alex'b= s.encode('utf-8')print(b) #b'alex'
关于数据类型
常见数据类型有:int、bool、str、list、tuple、dict
Python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头
如果你要实现从字符串中获取一段子字符串的话,可以使用变量 [头下标:尾下标],就可以截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾
常见字符串命令有:
修改:
.captalize() 首字母大写
.title() 标题首字母大写
.upper() 全部大写
.lower() 全部小写
.replace(old,new,count) 替换
.swpcase() 大小写翻转
.center() 居中
.format() 格式化输出(传值)
.strip() / lstrip()/ rstrip()去除空格
查询:
.find('x')或.find('x',1,10) 根据元素索引位置,或根据所限定范围寻找该元素的位置,找不到,返回值-1
.index() 通过元素索引位置(类似find),找不到,报错。可用于其他有序数据类型,如list、tumple。
.isdigit() 判断是否是数字,返回bool值
.isapha() 判断是否是字母,返回bool值
.isnumeric() 判断是否为数值,返回bool值
.istitle() 判断是否为标题首字母大写
.startswith() 以什么为开始
.endswith() 以什么结束
.len() 字符长度,返回值
.count() 计算出现几次,有多少个
for循环
其他:
.split() 分割并形成列表
range()创建连续的数字并形成列表
常见列表增删改查:
增加:
.append() 在最后加入数据
.insert() 插入数据
.extend() 延展,如两个列表合并
删除:
.pop() 按照索引,删除指定元素,并且返回值
.remove() 指定元素进行删除
.clear() 清空列表
del list[切片] 指定列表的切片进行删除
修改:
list[索引] = '被修改的内容'
list[切片] = '被修改的内容'
查询:
.count() 查询出现多少次
.index() 索引元素位置
.sort() 元素排序
.sort(reverse=True) 反向排序
.reverse() 反转
for循环
其他
s=" ".join(list) 插入空格或字符并转换为字符串,返回值
常见元祖命令(只读列表,用小括号,如a.tuple=(1,2,3)):
详见列表的查询命令
其他:
如果元祖里面只有一个元素且不加,那此元素是什么类型,就是什么类型
tu1 = (1)
tu2 = (1,)
print(tu1,type(tu1))
print(tu2,type(tu2))
tu1 = ([1])
tu2 = ([1],)
print(tu1,type(tu1))
print(tu2,type(tu2))
dic = dict.fromkeys([1,2,3,],3)
dic[1] = 4
print(dic)
常见字典增删改查(dic={'name':'alex','age':'18'})
增加:
dic['age'] = 21 字典中原有的值已存在,直接覆盖该值
dic.setdefault() 字典中没有该键值对,追加
删除:
.pop() 按照key删除,有返回值
.clear() 清空字典
del dic[键] 删除指定键
popitem() 随机删除,返回的是元祖
修改:
dic1={'name':'yellow','age':'20'}
dic.update(dic1)
dic.fromkeys([1,2,3],3) (迭代)
查询:
dic.keys() 查询键
dic.values() 查询值
dic.items() 查询键值对
for k,v in dic.items(): 打印所有键值对
print(k,v)
dic.get(key,None)