摘要: 10 def __init__(self, interval, function, args=None, kwargs=None): # 初始化的时候传参是延迟时间、调用的函数,函数的可变位置参数、函数的可变关键字参数 11 Thread.__init__(self) # 调用Thread类初始化配置实例 12 self.interval = interval # 在使用Thread类初始化配置实例之后再额外的增加interval属性 13 self.function = function # 同理再额外的增加function属性 14 self.args = args if args is not None else [] # 如果args不是空的话就使用args,如果是空就给一个空list 15 self.kwargs = kwargs if kwargs is not None else {} # 同理,kwargs不是空的就是kwargs,如果是空就给一个空字典 阅读全文
posted @ 2019-11-10 16:28 段明 阅读(1116) 评论(0) 推荐(0) 编辑
摘要: 本段源码可以学习的地方: 1. 考虑到效率问题,可以通过上下文的机制,在属性被访问的时候临时构建; 2. 可以重写一些魔术方法,比如 __new__ 方法,在调用 object.__new__(cls) 前后进行属性的一些小设置; 3. 在本库中使用的重写魔术方法,上下文这两种基础之上,我们可以想到函数装饰器,类装饰器,异常捕获,以及两种上下文的结构; 灵活运用这些手法,可以让我们在代码架构上更上一层,能够更加省时省力。 阅读全文
posted @ 2019-11-10 11:34 段明 阅读(423) 评论(0) 推荐(0) 编辑