我想初始化 python 数据类对象,即使没有实例变量传递给它并且我们没有向参数添加默认值
@dataclass
class TestClass:
paramA: str
paramB: float
paramC: str
obj1 = TestClass(paramA="something", paramB=12.3)
Run Code Online (Sandbox Code Playgroud)
这里它不允许我创建对象并且它会抛出
TypeError: __init__() missing 1 required positional argument: 'paramC'
Run Code Online (Sandbox Code Playgroud)
我可以使用默认值来解决此错误。
paramC: str = None
# OR
paramC: str = ""
Run Code Online (Sandbox Code Playgroud)
但我不想使用 paramC 的默认值,因为我想要一个场景,如果我们传递 paramC 那么只有它应该存在于对象中,否则它不应该存在。因此,如果我们在这里使用默认值,paramC 将始终存在于对象中,其值为None或空字符串。
如果在初始化期间未传递参数,我想跳过参数的初始化。