【问题标题】:Python PEP 484 Type Hints -> return type either class name or None?Python PEP 484 类型提示 -> 返回类型是类名还是无?
【发布时间】:2018-11-05 22:24:08
【问题描述】:

我正在使用 Python 3.6.5。

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

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

因为它返回一个类 A 的实例,所以符号通常是这样的:

-> A:

def 签名的末尾,但由于 A 尚未定义,因为它在 A 类本身上,您应该将其引用为:

-> 'A':

-> 'A': 足够了吗? 还是有某种 OR 语法?

提前感谢您的建议。

【问题讨论】:

    标签: python-3.6 type-hinting


    【解决方案1】:

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

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

    请注意,您应该从输入中导入 Optional 和 Union

    【讨论】:

    猜你喜欢
    • 2016-08-03
    • 2018-03-01
    • 2019-03-21
    • 1970-01-01
    • 2019-10-07
    • 2023-03-31
    • 1970-01-01
    • 2016-10-26
    相关资源
    最近更新 更多