我喜欢Python3中暗示的类型,但我真的厌倦了在我编写的所有模块中编写from typing import *。
是否有可能将我的应用程序封装在一个模块中,或者任何东西,并在我的所有应用模块中隐式导入该模块?
发布于 2016-08-19 10:54:58
您可以劫持builtins模块并将所需的东西放在那里。这将使代码更难维护,因为很难弄清楚这些全局代码是从哪里来的,或者它们是否意外地被破坏了。显然,这是可能的,但我建议不要这样做。
主模块需要在顶部执行类似的操作。如果这不是程序中发生的第一件事,那么其他模块就不能正常工作。进口订单不应该有什么区别,所以如果有人搞砸了,而它破坏了程序,那么就很难弄清楚原因了。
import typing # I assume you meant typing, not types
import builtins
vars(builtins).update({k: getattr(typing, k) for k in typing.__all__})
# Any module could do this without having to import anything
def f(x: T) -> T:
return xhttps://stackoverflow.com/questions/39036874
复制相似问题