Python PEP 484类型提示 - >返回类型是类名还是无?

时间:2018-05-26 22:27:46

标签: python-3.6 typehints

我正在使用Python 3.6.5。

下面的A类代表一个数据库表,使用SQLAlchemy。

我正在定义一个返回行的@staticmethod方法,但是如果没有结果,它将返回None

由于它返回A类的实例,因此符号通常为:

-> A:

def签名的末尾,但因为A尚未定义,因为它在A类本身,你应该引用它:

-> 'A':

-> 'A':是否足够? 或者是否存在某种 OR 语法?

提前感谢您的建议。

1 个答案:

答案 0 :(得分:1)

您可以使用Optional [A],这意味着它可以返回A或None

要在A和B类之间创建“或”,请使用Union [A,B]

请注意,您应该从键入

导入Optional和Union
相关问题