如果参数可以有不同的类型,如何在Python中编写:type 注释?
"""
:type param_name: type1|type2
"""
或
"""
:type param_name: type1 / type2
"""
PyCharm接受第二个变种
答案 0 :(得分:1)
您正在使用 Sphinx项目符号,但它被拒绝包含在PEP 484 -- Type Hints proposal中。
:type
是一个info field list,对于这些,我们并没有那么多正式的规范。文档示例使用or
:
:type priority: integer or None
但请注意integer
不是正式类型,也不是None
(它是单例对象)。
这些是文档构造,而不是类型提示。 PyCharm支持这些很好,但这些不是Python标准。
我会坚持使用正确的类型注释。这意味着使用Union
type:
Union[type1, type2]
如果您需要支持Python 2,可以将它们放在# type:
注释中。