在python中使用“类型提示”表示法有什么优势吗?
import sys
def parse(arg_line: int) -> str:
print (arg_line) # passing a string, returning None
if __name__ == '__main__':
parse(' '.join(sys.argv[1:]))
在我看来,它使语法变得复杂,却没有提供任何实际的好处(可能是在开发环境之内)。基于此:
type
约束?据我所知,我在python代码库中也看不到太多-大多数类型都是手动执行的,例如:argparse.py
以及我在{{ 3}}。
答案 0 :(得分:1)
是否有计划让python在语言本身内包含类型约束?
几乎肯定不会,而且绝对不会在下一个主要版本之前。
具有“类型提示”的优点是什么?我不能像把它那样轻易地放入文档字符串中吗?
在我的头顶上,考虑以下几点:
mypy
之类的工具来验证类型提示。foo(
时,IDE可以选择类型提示并在附近显示一个显示foo(x: int, y: List[int])
的框。作为开发人员,您的优势在于您可以完全准确地获取所需的信息,而不必花费整个文档字符串。functools.singledispatch
之类的模块或诸如multipledispatch
之类的外部库来添加其他与类型相关的功能(在这种情况下,根据名称和类型(而不仅仅是名称)分派函数调用) 。