提问人:eddyxide 提问时间:3/3/2023 更新时间:3/3/2023 访问量:21
是否可以在类型的子类中实现方法。NamedTuple?而且,属性是否被视为方法?
Is it possible to implement methods in subclass of typing.NamedTuple? And, are properties considered methods?
问:
我这样做是为了代表一个使用打字的人。NamedTuple:
from typing import NamedTuple
class Phone(NamedTuple):
residential: str
mobile: str
class Person(NamedTuple):
name: str
last_name: str
phone: Phone
@property
def full_name(self) -> str:
return f'{self.name} {self.last_name}'
edson = Person('Edson', 'Pimenta', Phone('1111-1111', '99999-9999'))
print(edson.full_name) # Edson Pimenta
它奏效了。
问题是,我看到很多人说 NamedTuples 无法实现用户方法,例如,新的方法,例如会更改任何字段的方法,因为它们的字段是不可变的,就像在元组中一样。
我想在更深入地研究 Dataclasses 之前了解 NamedTuples,这样我就会知道更多“解决”原始痴迷问题的替代方案。
属性是唯一可用的选项,还是这里发生了一些我不明白的事情?
属性甚至被视为方法吗?
答: 暂无答案
评论