考虑这个 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 可能不是必需的。有更干净的替代品吗?
看起来确实不是,因为它所做的只是在调用时返回
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参数,你的类似乎就是这样,所以它应该没问题。