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
每天都很充实,选课系统来咯
:

浙公网安备 33010602011771号