在Python中,我经常发现自己需要一个类似于的NamedTuple(不可变的,类型化的),但是有一个可重写的构造函数和可扩展性
(Python 3.6+)语法
class MyThing(NamedTuple):
thing1: int
thing2: float
很好,但是:
__new__
构造函数,该构造函数对参数检查和类型强制非常有用李>不能以逻辑方式扩展:即
class MySpecificThing(MyThing):
thing3: str
不能用构造
obj = MySpecificThing(thing1=2, thing2=2.5, thing3='aaa')
(你得到TypeError: __new__() got an unexpected keyword argument 'thing3'
)
有人知道一个数据结构具有所有这些优良特性(不变性、类型化字段、可扩展性和可定制结构)吗
目前没有回答
相关问题 更多 >
编程相关推荐