我正在使用dataclass装饰器。
对于我的一个变量,我希望它是 astr或int类型
from dataclasses import dataclass
@dataclass
class Foo:
test_var: str
# test_var: int
def get_example(self):
return type(self.test_var)
Run Code Online (Sandbox Code Playgroud)
当对象被构造时,我希望 fortest_var是 astr或 an ;如何为我的类的属性指定两种类型?intFoo
您正在寻找Union:
联合型;
Union[X, Y]表示 X 或 Y。
from typing import Union
from dataclasses import dataclass
@dataclass
class Foo:
test_var: Union[str, int]
def get_example(self):
return type(self.test_var)
Run Code Online (Sandbox Code Playgroud)
请注意,在 Python 3.10 中,您可以使用X | Y相当于Union[X, Y](参见文档)的语法。
| 归档时间: |
|
| 查看次数: |
6132 次 |
| 最近记录: |