小编典典

Python 2中的类型提示

python

PEP
484中
,包含typing模块的类型提示已添加到Python
3中。在Python
2中有什么方法可以做到这一点?我能想到的就是有一个装饰器来添加到检查类型的方法中,但这将在运行时失败,并且不会像提示所允许的那样被较早地捕获。


阅读 242

收藏
2020-12-20

共1个答案

小编典典

根据 Python 2.7的建议语法和 定义类型提示的PEP 484中的
跨代码
,存在与Python
2.7兼容的另一种语法。但是,它不是强制性的,因此我不知道它的支持程度如何,而是引用PEP:

某些工具可能希望在必须与Python
2.7兼容的代码中支持类型注释。为此,该PEP具有建议的(但不是强制性的)扩展名,其中功能注释位于#类型:注释中。这样的注释必须放在函数头之后(在文档字符串之前)。一个示例:以下Python
3代码:

def embezzle(self, account: str, funds: int = 1000000, *fake_receipts:

str) -> None:
“”“Embezzle funds from account using fake receipts.”“”

等效于以下内容:

def embezzle(self, account, funds=1000000, *fake_receipts):
    # type: (str, int, *str) -> None
    """Embezzle funds from account using fake receipts."""
    <code goes here>

要获得mypy支持,请参阅 类型检查Python
2代码

2020-12-20