gpt4 book ai didi

python - 在文档字符串中使用 typing 模块

转载 作者:行者123 更新时间:2023-12-03 19:36:23 25 4
gpt4 key购买 nike

假设我有一个带有文档字符串的函数,我在其中将返回类型声明为具有两个字符串的元组:

def foo():
"""
Returns:
Tuple[str, str]: Tuple of first name and last name
"""

如果我不在除文档字符串之外的任何地方使用它,我是否应该从 typing 导入 Tuple

最佳答案

PyCharm 对类型提示的文档字符串支持实际上并不使用typing。您不需要导入该模块。

typing 模块只是为了支持注释在运行时执行的事实;对于以 def foo() -> Tuple[str, str]: 开头的语句,Python 实际上会计算表达式 Tuple[str, str] 所以期望能够解析名称。 (从 Python 3.7 开始,您可以使用 from __future__ import annotations 禁用(或者更确切地说,推迟)评估)。

但文档字符串通常不会被评估,并且预计不会包含可运行的 Python 代码。

除非您硬性要求将类型信息放入文档字符串中,否则我会坚持使用实际注释:

from typing import Tuple


# type aliases
firstname = str
lastname = str


def foo() -> Tuple[firstname, lastname]:
"""Descriptive line documenting this function's purpose"""
# ...

关于python - 在文档字符串中使用 typing 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52835740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com