小编Sne*_*avs的帖子

使用函数初始化数据类实例

我正在尝试创建一个数据类来将所有相关数据存储在单个对象中。如何初始化一个数据类实例,其中的值是从数据类中带有参数的函数求值的?

到目前为止,这就是我所在的位置:

@dataclass
class Person: 
    def Name(self):
        return f'My name is {self.name[0]} {self.name[1]}.'

    def Age(self):
        return f'I am {self.age} years old.'

    name: field(default_factory=Name(self), init=True)
    age: field(default_factory=Age(self), init=True)

person = Person(('John', 'Smith'), '100')
print(person)
Run Code Online (Sandbox Code Playgroud)

电流输出:

@dataclass
class Person: 
    def Name(self):
        return f'My name is {self.name[0]} {self.name[1]}.'

    def Age(self):
        return f'I am {self.age} years old.'

    name: field(default_factory=Name(self), init=True)
    age: field(default_factory=Age(self), init=True)

person = Person(('John', 'Smith'), '100')
print(person)
Run Code Online (Sandbox Code Playgroud)

这是我想要实现的输出:

Person(name=('John', 'Smith'), age='100')
Run Code Online (Sandbox Code Playgroud)

我试图使用如何在数据类字段中引用“self”?供有关此主题的参考。

python self python-3.x python-dataclasses

4
推荐指数
1
解决办法
6136
查看次数

标签 统计

python ×1

python-3.x ×1

python-dataclasses ×1

self ×1