快速定义类
import collections
MyClass = collections.namedtuple("MyClass", ["member1", "member2", "member3"])
k = MyClass(1,2,3)
print(k)
输出:
MyClass(member1=1, member2=2, member3=3)
实现len、str、迭代器方法
在自定义类中重构__len__
,__repr__
,__getitem__
三个方法
显式指定变量的类型
注意只支持python3.4及以上
import queue, multiprocessing
list = []
list.append(queue.Queue())
list.append(multiprocessing.Queue())
q: queue.Queue = list[0]
q2: multiprocessing.Queue = list[1]
q.put_nowait(None)
print(q2)
通过 var: type
来显式告诉编辑器这个变量的类型,有几个好处:
- 方便阅读
- 引导编辑器进行正确代码提示
快速获取dict中的键值setdefault()
setdefault这个函数名其实是有一定迷惑性的,有些业务如下:
dic = {"a":"a", "b","b"}
# 当我们想要获取c的时候往往需要先判断再获取:
if dic.get("c") is None:
dic["c"] = "c"
return dic["c"]
可以通过setdefault来大幅度降低编码长度并提高性能:
dic = {"a":"a", "b","b"}
return dic.setdeafult("c", "c") # 如果c被设置成了其他值也只会返回新的值