分布式 属性 `(a+b)c = ac+bc` 是否也适用于 python 类型提示?

Does distributive property `(a+b)c = ac+bc` apply to python type hinting as well?

对于 Python ≤ 3.8:

from typing import Union, Tuple, List

Union[List[str], List[Tuple[str, str]]]

相同
List[Union[str, Tuple[str, str]]]

它们在逻辑上并不相同。第一个是字符串列表或元组列表;第二个是可以包含字符串和元组的列表。

['alpha', ('beta', 'gamma')] 作为 List[Union[str, Tuple[str, str]]] 有效,但作为 Union[List[str], List[Tuple[str, str]]].

无效