nametuple(命令元组)
什么时候需要用到nametuple
第一:其实nametuple是对tuple的进一步封装,同时具备了tuple的功能,nametuple可以给每个值加上字段名,方便代码的维护
第二: nametuple完全是一个简易版的类,如果不使用类方法的时候,完全可以用nametuple进行代替,而且nametuple效率比tuple更高,内部也不需要维护太多东西
使用实例
from collections import namedtuple
fund_flow = namedtuple("fund_flow", ["id", "fund_account_id", "fund_value"])
data = fund_flow(id=1, fund_account_id=2, fund_value=3)
print(data.id)
print(data.fund_account_id)
print(data.fund_value)
print(data)
result:
1
2
3
fund_flow(id=1, fund_account_id=2, fund_value=3)
很明显命名元组同时具备了tuple的功能,同时又类似于一个精简类,方便使用
default_dict(默认字典)
什么时候需要用到default_dict
default_dict 见文生意,就是给dict加了个默认值,当这个key不存在时,能够给这个key设置一个默认值,例如default_dict(list) 会给每个元素默认设置一个空列表(但是dict应该不会)
使用实例
from collections import defaultdict
fund_flow = defaultdict(list)
fund_flow["1"].append(2)
fund_flow["2"].append(3)
print(fund_flow["1"])
print(fund_flow["2"])
print(fund_flow)
result:
[2]
[3]
defaultdict(<class 'list'>, {'1': [2], '2': [3]})