from dataclasses import dataclass
@dataclass
class InventoryItem:
"""Class for keeping track of an item in inventory."""
name: str | None = None
unit_price: float
quantity_on_hand: int = 0
TypeError:| 不支持的操作数类型:“type”和“NoneType”
Python 3.9
我认为问题出在使用最新版本的python,如何解决。
我尝试使用“或” 但这没有帮助
str | None
语法。使用
from typing import Optional
name: Optional[str] = None
对于右侧不是
None
或有两种以上类型的情况,您可以使用 Union
。这也可以允许多种类型或None
。
from typing import Union
# equivalent to str | int | float
foo: Union[str, int, float] = "bar"
# equivalent to str | int | None
bar: Union[str, int, None] = 42