类属性:
__dict__:可以将类的自定义属性转换为字典形式
__name__:类名,返回当前类的名字
__bases__:父类构成的元祖
__module__:如果在本模块中调用,则为__main__,在其他模块中调用,则返回模块名
方法:普通方法、类方法(@classmethod)、静态方法(@staticmethod)
classmethod修饰符对应的函数不需要实例化,不需要self参数,但第一个参数必须是表示自身类的cls参数,可以调用类的属性、方法、实例化对象等。在不需要实例化对象的时候,使用类方法很方便,比如:实例化对象、得到该类下所有的数据等等。
定义类属性的时候,使用:def init(self)函数,需要继承基类属性的时候,使用:super().init()
json是一个序列化与反序列化的库
json 简单说就是 javascript 中的对象和数组,所以这两种结构就是对象和数组两种结构;就是一个JavaScript语法,和python储存数据的格式不同而已,可以相互转化。
import json
Json是一种轻量级的数据交互格式,易于人们阅读和编写。利用其dumps方法,可以将数据转化为所有程序都认识的字符串,并写入文件。loads方法将json编码的字符串转化为python的数据结构。
序列化:将 字典/列表 编码为JSON字符串,indent表示缩进,ensure_ascii对中文友好;
t = json.dumps(data,indent=2,ensure_ascii=False)
写入文件:
with open(‘text.txt’,‘w+’,encoding='utf-8')as f:
f.write(t)
反序列化:将JSON字符串解码为 列表/字典:
json.loads(data)
读取文件:
with open('text.txt’,‘r’ ,encoding='utf-8') as f:
s = f.read()
json.loads(s)
上面是在python后端存储数据的常用方式,在前端中,使用JavaScript异步向服务器请求接收数据方式如下:
发送数据处理:
// 将数据转化为json格式字符串
data = JSON.stringify(data)
r.send(data)
接收数据后复原
// (python)视图函数将响应发送给服务器前,也需要岁数据进行处理:
body = json.dumps(data, ensure_ascii=False, indent=2)
r = header + '\r\n' + body
return r.encode(encoding='utf-8')
// 解析为数组(格式化数据)
rec = r.response
data = JSON.parse(rec)
网友评论