Day30

总结

设计模式

IT行业中设计模式总共有23种 可以分为创建型、结构型、行为型
# 目前涉世未深了解即可

# 23中设计模式中的单例模式
	# 应用场景
    	在一个类中有某种绑定给对象的方法需要多次使用,不同程序员并不知道有没有产生对象,如果有创建了新的对象,会造成资源的浪费
        class Single(type):
            new_obj = None

            def __call__(self, *args, **kwargs):
                if not self.new_obj:
                    obj = super().__call__(*args, **kwargs)
                    self.new_obj = obj
                    return self.new_obj
                return self.new_obj


        class MyClass(metaclass=Single):
            def __init__(self, name):
                self.name = name


        obj1 = MyClass('jason')
        obj2 = MyClass('tony')
        print(id(obj1), id(obj2))
        print(obj1.__dict__, obj2.__dict__)

pickle模块

# pickle模块只支持python兼容性很差,后期学了ORM就不用pickle了

# 作用:把Python对象直接保存到文件里,而不需要先把它们转化为字符串再保存,也不需要用底层的文件访问操作,直接把它们写入到一个二进制文件里

import pickle


class MyClass(object):
    school = 'school'

    def __init__(self, name):
        self.name = name

    def choose_course(self):
        print('%s正在选课' % self.name)


obj = MyClass('jack')
obj.choose_course()  # jack正在选课

with open(r'%s' % obj.name, 'wb') as f:
    pickle.dump(obj, f)

with open(r'jack', 'rb') as f:
    data = pickle.load(f)
print(data)
print(data.name)  # jack
print(data.school)  # school

每天都很充实,选课系统来咯

:

posted @ 2022-04-12 23:26  有梦想的阿九  阅读(40)  评论(0)    收藏  举报