2022年9月23日

泛型

摘要: 第一个参数类型决定执行特定的方法体 一、单分派泛函数 只对函数的第一个参数做类型检查,发现局限性太大,没什么特别的应用场景,也可能是我没用到 1 from functools import singledispatch 2 3 4 @singledispatch 5 def func(a, *arg 阅读全文

posted @ 2022-09-23 18:08 默玖 阅读(20) 评论(0) 推荐(0) 编辑

注册退出函数

摘要: 1、无论程序在哪出现异常,最终都会执行注册过的方法 1 import atexit 2 3 4 @atexit.register 5 def func(): 6 print(1) 7 8 9 def func2(): 10 print(2) 11 12 13 def func3(): 14 retu 阅读全文

posted @ 2022-09-23 16:58 默玖 阅读(25) 评论(0) 推荐(0) 编辑

简化数据结构的初始化过程

摘要: 避免在每新建类时,都要重复实现构造器,因此可以定义一个公共基类,在基类中实现实例属性的初始化规则,此后在派生类中,只需要指定属性字段即可 1 class Init: 2 _fields = [] 3 4 def __init__(self, *args, **kwargs): 5 if len(ar 阅读全文

posted @ 2022-09-23 14:59 默玖 阅读(19) 评论(0) 推荐(0) 编辑

初探缓存装饰器

摘要: 平常学习过程发现了一个牛掰装饰器,在此记录下 1 from functools import lru_cache 2 3 4 @lru_cache() 5 def count(a, b): 6 print("对{},{}求和".format(a, b)) 7 return sum([a, b]) 8 阅读全文

posted @ 2022-09-23 10:47 默玖 阅读(10) 评论(0) 推荐(0) 编辑

编程模式-委托

摘要: 委托属性的访问: 对当前类属性方法等的访问委托到其内部对象上,可以作为继承的一种替代方案 1 class ProtoType: 2 def __init__(self): 3 self.name = "g" 4 5 def func(self): 6 print(self.name) 7 8 9 c 阅读全文

posted @ 2022-09-23 10:17 默玖 阅读(12) 评论(0) 推荐(0) 编辑

设计模式-结构型模式之装饰器

摘要: 实现AOP(面向切面编程)的一种便捷方式,额外扩展统一管理 装饰器的实现我在语言进阶篇中有提到,这里不再赘述 1 from decorator import decorator 2 3 4 @decorator 5 def pre_execute(func, param=None, *args, * 阅读全文

posted @ 2022-09-23 10:04 默玖 阅读(22) 评论(0) 推荐(0) 编辑

导航