函数序列化Python 序列化算法

python 哪些类型不能被序列化

下面是可以被序列化的,反之则是不可序列化的

创新互联是专业的越秀网站建设公司,越秀接单;提供网站制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行越秀网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

可以被序列化的类型有:

* None,True 和 False;

* 整数,浮点数,复数;

* 字符串,字节流,字节数组;

* 包含可pickle对象的tuples,lists,sets和dictionaries;

* 定义在module顶层的函数:

* 定义在module顶层的内置函数;

* 定义在module顶层的类;

* 拥有__dict__()或__setstate__()的自定义类型;

Python 为什么不能序列化函数闭包

闭包是可以包含自由(未绑定到特定对象)变量的代码块;这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义(局部变量)。

python基础之序列化和反序列化

1、序列化:就是把不可传输的对象转换为可存储或可传输的过程

2、反序列化:就是把在磁盘,等介质中的数据转换为对象

1、序列化并保存文件

obj = [1, 2, 3, 4]

with open('test.txt', 'wb') as f:

pickle.dump(obj, f)

with open('test.txt', 'rb') as f:

new_obj = pickle.load(f)

2、序列化成string形式

obj = [1, 2, 3, 4]

str1 = pickle.dumps(obj)

new_obj = pickle.loads(str1)

1、序列化并保存到文件:dump、load

2、序列化成json对象:dumps、loads


网站题目:函数序列化Python 序列化算法
URL网址:http://pwwzsj.com/article/hpjdei.html