在 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:]))
对我来说,它似乎使语法变得复杂,而没有提供任何实际的好处(也许除了within开发环境)。基于此:
- python 有没有计划包含
type
语言本身的限制?
- “类型提示”有什么好处?我不能轻松地将其放入文档字符串或其他内容中吗?
据我所知,我在 python 代码库本身中也没有看到这么多——大多数类型都是手动强制执行的,例如:argparse.py https://github.com/python/cpython/blob/3.7/Lib/argparse.py以及我看过的任何其他文件https://github.com/python/cpython/blob/3.7/Lib/ https://github.com/python/cpython/blob/3.7/Lib/.
python 有计划在语言本身中包含类型约束吗?
几乎肯定不会,而且绝对不会在下一个主要版本 (4.x) 之前。
“类型提示”有什么好处?我不能轻松地将其放入文档字符串或其他内容中吗?
从我的脑海中,考虑以下几点:
- 类型提示可以使用类似的工具进行验证
mypy
.
- IDE 和其他工具可以使用类型提示来提供提示和技巧。例如,当您调用一个函数并且刚刚编写时
foo(
,IDE 可以获取类型提示并在附近显示一个框,其中显示foo(x: int, y: List[int])
。作为开发人员,您的优势在于您拥有exactly您需要的信息会向您公开,而不必修改整个文档字符串。
- 类型提示可以被类似的模块使用
functools.singledispatch
或外部库,例如multipledispatch
添加其他与类型相关的功能(在本例中,根据名称和类型,而不仅仅是名称来调度函数调用)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)