没有导入或全局声明的Python全局变量

时间:2018-03-01 17:41:18

标签: python-3.x global-variables python-import

我试图在我的python项目中添加一些杂项开发助手,这样我就不需要bang他们或者在import声明他们global呼叫网站,只是为了节省一些打字。

示例用法如下:

# Somewhere, maybe src/__init__.py?
from pprint import pprint
superduperglobaleasyusenamespace.p = pprint

# A different file somewhere in my project
def whatever():
    p('hello')

我看了builtin,但无法让它发挥作用。如果这是正确的解决方案,请提供在python3中运行的示例代码。

1 个答案:

答案 0 :(得分:0)

将此添加为程序中的第一行:

__builtins__.p = pprint

通常,建议不要修改内置名称空间。毕竟,导入只是一行。

实施例

# mod1.py

from pprint import pprint

__builtins__.p = pprint

import mod2

# mod2.p

print(p)

现在:

python mod1.py 
<function pprint at 0x10df28e18>