Python类型提示(注释)会引起一些运行时影响吗?[重复]


问题内容

这个问题已经在这里有了答案

用于性能优化的Python 3类型提示 (2个答案)

3年前关闭。

Python函数注释和类型提示(PEP 3107PEP
484
)会引起一些运行时影响吗?

可以使代码更快吗?还是减少内存的使用?否则会使代码更慢?


问题答案:

类型提示和注释确实提供typing.get_type_hints了可由第三方工具传递的属性(请参阅参考资料),但是本机CPython不会在运行时对它们进行类型检查,因此,这不应以与注释相同的方式对代码性能产生显着影响。我进行了一些测试,timeit并删除了类型提示对运行时的影响可忽略不计(无法与背景
噪音 区分开),因此,对性能的任何担忧肯定是过早优化的严重案例。

PEP 484

尽管建议的类型模块将包含一些用于运行时类型检查的构造块-尤其是get_type_hints()函数-
但必须开发第三方程序包以实现特定的运行时类型检查功能,例如使用装饰器或元类。使用类型提示进行性能优化留给读者练习。