import:导入
__init__:定义类的时候,添加__init__方法,在创建类的实例时候,会自动调用这个方法对类初始化。
>>> class Class:
... def __init__(self,name,gender):
... self.name=name
... self.gender=gender
>>> testname=Class('lin','99')
>>> testname.gender
'99'
序列化:变量从内存中变成可存储或可传输的过程。python中称为pickling-->pickle模块
序列化之后,可以把序列化后的内容写入磁盘或传输到别的机器。
反序列化:把变量内容从序列化的对象重新读到内存里 unpickling
【序列化】
1、pickle.dumps()-->序列化成bytes
>>> import pickle
>>> d = dict(name='Bob', age=20, score=88)
>>> pickle.dumps(d)
b'\x80\x03}q\x00(X\x03\x00\x00\x00ageq\x01K\x14X\x05\x00\x00\x00scoreq\x02KXX\x04\x00\x00\x00nameq\x03X\x03\x00\x00\x00Bobq\x04u.'
2、pickle.dump()--->序列化写入file-like Object
>>> f = open('dump.txt', 'wb')
>>> pickle.dump(d, f)
>>> f.close()
【反序列化】
1、pickle.loads()-->读到bytes 反序列化出对象
2、pickle.load()----->file-like Object反序列化出对象
>>> f = open('dump.txt', 'rb')
>>> d = pickle.load(f)
>>> f.close()
>>> d
{'age': 20, 'score': 88, 'name': 'Bob'}
【JSON】
不同的编程语言之间传递对象,必须把对象序列化成标准格式。更好的方式是序列化为JSON(字符串)。
>>> import json
>>> d = dict(name='Bob', age=20, score=88)
>>> json.dumps(d)
'{"age": 20, "score": 88, "name": "Bob"}'
json.dumps()-->接受一个必须参数(如dict)
json.dump()接受两个必须参数,第一个如dict,第二个是类文件名
json.dumps()和dump序列化对象时用 default=lambda obj: obj.dict
json.loads()接受一个必需参数,把json变为如dict
json.load()接受一个必需参数(类文件名),把类文件中的json变为如dict
json.loads()和load反序列化json(对象)时需要object_hook=参数