Python数据对象的编码和解码,json和pickle模块,base64模块的简单使用
1.面向对象
对象:生活中的客观事物
类:对事物的抽象,在代码中实现class类型
类属性:这类事物具有的特点或者属性
类方法:这类事物具有的行为,可以实现的方法
实例:使用之前对类的实例化之后的结果
实例属性:对象具有的一些描述对象或者形容对象的属性,对象具体具有的特性
实例方法:对象具有的方法,行为动作
1.查看对象所拥有的方法
dir(对象) 例如 print(dir(列表))
1.类中的实例(类)属性和方法命名风格
属性:名词 方法:动词
2.Python中万物皆对象
_对象名,对象私有化,只能在当前模块文件使用,无法在其他模块导入该对象
__xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到),
子类无法继承到,属于类对象私有属性
2.可迭代对象(for...in...这类语句迭代读取一条数据)
from collections import Iterable
可以使用 isinstance() 判断一个对象是否是 Iterable 对象
列表元组字典集合字符串都是可迭代对象
具备了__iter__方法的对象,就是一个可迭代对象
1.可迭代对象 for in 的本质
for item in Iterable 循环的本质就是先通过iter()函数获取可迭代对象Iterable的迭代器Iterator,
然后对获取到的迭代器不断调用next()方法来获取下一个值并将其赋值给item,
当遇到StopIteration的异常后循环结束。
3.数据类型编码字节
字符串可以使用encode,列表元组数字字典可以使用pickle模块进行转化
4.python内置模块 json和pickle的用法
1.json可以用于字符串或者字典等与python数据类型之间的序列化与反序列化操作(跨语言)
pickle可以用于python特有类型与python数据类型之间的序列化与反序列化操作(python)
2.json和pickle都具有四个方法
dumps,dump loads.load
3.使用json.dumps方法可以将python字典列表等数据格式化成一个字符串,这样可以方便别的编程语言进行调用
json.loads()把一个json格式的字符串转化为字典列表等
4.pickle.dumps() 将python数据序列化为bytes类型
pickle.loads() 将bytes类型数据反序列化为python的数据类型
encode() decode()转码只针对于字符串
5.python内置模块base64的用法
import base64
python标准库中提供了base64模块,用来进行转换
base64.b64encode() 将bytes类型数据进行base64编码,返回编码后的bytes类型
base64.b64deocde() 将base64编码的bytes类型进行解码,返回解码后的bytes类型