类型提示和注释确实提供typing.get_type_hints
了可由第三方工具传递的属性(请参阅参考资料),但是本机cpython不会在运行时对它们进行类型检查,因此,这不应以与注释相同的方式对代码性能产生显着影响。我进行了一些测试,timeit
并删除了类型提示对运行时的影响可忽略不计(无法与背景噪音 区分开),因此,对性能的任何担忧肯定是过早优化的严重案例。
从PEP 484:
尽管建议的类型模块将包含一些用于运行时类型检查的构造块-尤其是get_type_hints()函数- 但必须开发第三方程序包以实现特定的运行时类型检查功能,例如使用装饰器或元类。使用类型提示进行性能优化留给读者练习。