问题描述
如果我在 Haskell 中有一些简单的 sum 类型,比如
data Owner = Me | You
如何用 Python 方便地表达它?
解决方法
Enum 或 Union 最接近 Python 中的 tagged union
或 sum type
枚举
from enum import Enum
class Owner(Enum):
Me = 1
You = 2
联合
https://docs.python.org/3/library/typing.html#typing.Union
import typing
class Me:
pass
class You:
pass
owner: typing.Union[Me,You] = Me