数据类型内置方法
d = {
'username':'jason',
'password':123,
'hobby':['read','study','music']
}
1.统计长度(键值对的个数)
print(len(d))
2.获取值
print(d['username'])
print(d.get('hobby'))
print(d['xxx'])
print(d.get('xxx'))
print(d.get('xxx','不会意思没有xxx这个键'))
print(d.get('username','不会意思没有xxx这个键'))
3.修改值
d['username'] = 'jasonNB'
d['hobby'].append('run')
print(d)
4.删除值
res = d.pop('password')
print(d,res)
5.三个小方法
print(d.keys())
print(d.values())
print(d.items())
t = (11,22,33,44)
1.统计长度
print(len(t))
2.索引取值和切片操作
print(t[0],t[1:3])
3.元组内元素不能被修改
t1 = (11,22,33,[1,2,3])
t1[-1].append(666)
print(t1)
"""
1.去重
2.关系运算
"""
se = {11,11,22,22,111,22,11,33,44,55}
print(se)
s1 = {'jason','kevin','tony'}
s2 = {'jason','tom','jack'}
print(s1 & s2)
print(s1 | s2)
print(s1 ^ s2)
print(s1 - s2)
print(s1 > s2)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210415200922271.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMjcxNDQ1,size_16,color_FFFFFF,t_70#pic_center)
字符编码
理论特别多 结论特别少
前提:
我们在使用计算机的时候输入的是我们各自国家的文字
但是计算机存储数据的时候只识别01二进制数
人类的字符 参考本 二进制
字符编码
记录了人类的字符与数字的对应关系
计算机是有美国人发明的,美国人一开始只想着让计算机能够识别英文
美国人开发了一套字符编码表
ASCII码表
记录了英文字符与数字的对应关系
8bit=1bytes 表示一个英文字符
中国
GBK码表
记录了英文字符、中文字符与数字的对应关系
1bytes 表示一个英文字符
2bytes表示一个中文字符(遇到生僻字可能采用3bytes 4bytes...)
日本
shift_JIS码表
1bytes 表示一个英文字符
记录了英文字符、日文字符与数字的对应关系
韩国
Euc_kr码表
1bytes 表示一个英文字符
记录了英文字符、韩文字符与数字的对应关系
unicode万国码
统一使用2bytes存储字符
utf8
是针对unicode的优化版本
1bytes 表示一个英文字符
3bytes 表示一个中文字符
"""
内存使用的是unicode
硬盘使用的是utf8
"""
1.文件不乱码的核心
文件当初以什么编码存的就以什么编码打开
2.编码与解码
编码 encode
将人类的字符按照指定的编码编成计算机能够直接识别的数据
解码 decode
将计算机数字类型的数据按照指定的编码解码成人类的字符
info = '年少有为'
res = info.encode('GBK')
print(res)
res1 = res.decode('GBK')
print(res1)
文件操作
文件
操作系统提供给用户用来操作计算机硬盘的快捷方式
绝对路径与相对路径
绝对路径
不需要参考系 地址给任何人都可以直接找到对应的数据
相对路径
需要有参考系 地址只能给基于参考系的才可以找到数据
转义
\n表示换行符
\t表示制表符(四个空格)
在字符串路径的前面加字母r
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。若文件路径不存在,r模式直接报错。
w 打开一个文件只用于写入。如果该文件已存在,则打开文件并从头开始编辑,原有内容会被删除。如果该文件不存在,则创建新文件。
a 打开一个文件用于追加。若已存在,文件指针会放在文件结尾。若不存在,则创建新文件进行写入。
t 文本模式 只能操作文本文件,必须指定encoding参数
b 二进制模式 能操作所有文件
with open(r'111.jpg','rb') as f:
data = f.read()
with open(r'D:\222.jpg','wb') as f:
f.write(data)