python - 如何在可以接受多种不同类型的python数据类中制作List?
问题描述
我正在 python 中创建新的数据类。
@dataclass
class User(Mixin):
id: int = None
items: List[DefaultItem] = None
这items
是DefaultItem
对象数组,但我需要它是多个可能的对象,例如:
items: List[DefaultItem OR SomeSpecificItem OR SomeOtherItem] = None
我怎样才能在python中做这样的事情?
解决方案
你可以用typing.Union
这个。
items: List[Union[DefaultItem, SomeSpecificItem, SomeOtherItem]] = None
如果您使用的是 Python 3.10,他们添加了一个方便的速记符号:
items: list[DefaultItem | SomeSpecificItem | SomeOtherItem] = None
还请注意:如果items
允许为None
,则应将类型标记为Optional
。
推荐阅读
- python - 熊猫:滚动第二大价值
- java - 如何解决问题,我希望它排成一行而不是交错或重复
- android - Android虚拟设备管理器下的“擦除数据”功能究竟是做什么的
- android - 与 BLE 的蓝牙配对在 android 中不起作用
- reactjs - sweetalert2-react onCancel 未调用
- npm - 'npm' 未被识别为内部或外部命令
- r - R Shiny - 重置闪亮树节点选择
- excel - 如何使用 ColdFusion 创建一个 Excel 文件,该文件有一列我们可以按最大到最小排序,反之亦然?
- java - 问题:尝试调用虚拟方法'double android.location.Location.getLatitude()
- javascript - 该脚本在以下 php 文件中不起作用