Python PEP 484 类型提示 -> 返回类型是类名还是无?
Posted
技术标签:
【中文标题】Python PEP 484 类型提示 -> 返回类型是类名还是无?【英文标题】:Python PEP 484 Type Hints -> return type either class name or None? 【发布时间】:2018-11-05 22:24:08 【问题描述】:我正在使用 Python 3.6.5。
下面的 A 类代表一个数据库表,使用 SQLAlchemy。
我正在定义一个返回一行的@staticmethod
方法,但如果没有结果,它将返回None
。
因为它返回一个类 A 的实例,所以符号通常是这样的:
-> A:
在def
签名的末尾,但由于 A 尚未定义,因为它在 A 类本身上,您应该将其引用为:
-> 'A':
-> 'A':
足够了吗?
还是有某种 OR 语法?
提前感谢您的建议。
【问题讨论】:
【参考方案1】:你可以使用Optional[A],这意味着它可以返回A或None
要在 A 类和 B 类之间做“或”,请使用 Union[A, B]
请注意,您应该从输入中导入 Optional 和 Union
【讨论】:
python.org/dev/peps/pep-0484/#using-none - 谢谢。知道了。 Optional 是 Union[A,None] 的简写:-)以上是关于Python PEP 484 类型提示 -> 返回类型是类名还是无?的主要内容,如果未能解决你的问题,请参考以下文章