首页 > 其他 > 详细

pickle模块 collections模块在面向对象中的应用

时间:2019-03-28 18:56:15      阅读:131      评论:0      收藏:0      [点我收藏+]

pickle模块

可以把对象实例化的结果通过文件操作存入文件再读取出来 

读取出的结果是字典

可以直接调用

在登录注册等程序时可以简化、方便操作

import pickle
class Course:
    def __init__(self,name,price,period):
        self.name = name
        self.price = price
        self.period = period

python = Course(python,20000,6 months)
linux = Course(linux,15800,5 months)
import pickle
with open(pickle_file,ab) as f:
    pickle.dump(python,f)
    pickle.dump(linux,f)

import pickle
with open(pickle_file,rb) as f:
    obj1 = pickle.load(f)
    obj2 = pickle.load(f)
    while True:
        try:
            obj = pickle.load(f)
            print(obj.__dict__)
        except EOFError:
            break

如果不知道已经存入文件的大小 可以在读取的时候采用循环读取 异常处理  避免报错

 

collections模块中的namedtuple

可以把创造出的命名元组转为一个类

此时的类里的属性不可更改,没有方法,就是一种元类

from collections import namedtuple

Course = namedtuple(Course,[name,price,period])
python = Course(python,20000,6 month)
print(python.name)
print(python.price)
print(python.period)
print(type(python))

 

pickle模块 collections模块在面向对象中的应用

原文:https://www.cnblogs.com/biulo/p/10616817.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!