创建一个数据类,生成另一个类的实例作为默认属性。我怎样才能满足这个 Pylint 警告?

问题描述 投票:0回答:1

考虑这个 python 脚本

from dataclasses import dataclass, field


class ClassA:
    def __init__(self):
        pass



@dataclass
class ClassB:
    class_a: ClassA = field(default_factory=lambda: ClassA())

Pylint 警告说 lambda 可能不是必需的。有更干净的替代品吗?

python pylint python-dataclasses
1个回答
0
投票

看起来确实不是,因为它所做的只是在调用时返回

ClassA
的实例。

关于:

from dataclasses import dataclass, field


class ClassA:
    def __init__(self):
        pass



@dataclass
class ClassB:
    class_a: ClassA = field(default_factory=ClassA)

根据文档https://docs.python.org/3/library/dataclasses.html#dataclasses.field

default_factory
需要一个可调用的0参数,你的类似乎就是这样,所以它应该没问题。

© www.soinside.com 2019 - 2024. All rights reserved.