如何将值从基础数据类升级到继承自它的值?
示例(Python 3.7.2)
from dataclasses import dataclass
@dataclass
class Person:
name: str
smell: str = "good"
@dataclass
class Friend(Person):
# ... more fields
def say_hi(self):
print(f'Hi {self.name}')
friend = Friend(name='Alex')
f1.say_hi()
打印“嗨亚历克斯”
random_stranger = Person(name = 'Bob', smell='OK')
返回随机陌生人“人(名称='鲍勃',气味='OK')”
如何将 random_stranger 变成朋友?
Friend(random_stranger)
返回“朋友(姓名=人(姓名='鲍勃',气味='OK'),气味='好')”
结果我想得到“朋友(名字='鲍勃',气味='OK')”。
Friend(random_stranger.name, random_stranger.smell)
有效,但是如何避免复制所有字段?
还是我不能在从数据类继承的类上使用 @dataclass 装饰器?