使用Python 3导入初始化全局变量

时间:2016-12-25 18:07:07

标签: python global-variables python-import

我试图做的事情可能更容易通过例子来解释。请考虑以下代码:

在文件my_custom_module.py

def oop_type_a():
    __init__(self):
    # class definitions, etc...

def oop_type_b():
    __init__(self):
    # class definitions, etc...

def define_a_bunch_of_oop_variables():
    global oop1
    global oop2

    oop1 = oop_type_a()
    oop2 = oop_type_b()

使用此文件,我可以运行以下命令:

>>>import my_custom_module
>>>my_custom_module.define_a_bunch_of_oop_variables()
>>>from my_custom_module import *

>>>oop1
<my_custom_module.oop_type_a object at 0x000000000615F470>
>>>oop2
<my_custom_module.oop_type_a object at 0x000000000615F5C0>

有没有办法获得相同的功能没有 from my_custom_module import *?什么是pythonic方法来实现这一目标?

每次使用此模块时,我都需要初始化几个对象,这样做很乏味:

>>>import my_custom_module
>>>oop1 = my_custom_module.oop_type_a()
>>>oop2 = my_custom_module.oop_type_b()

1 个答案:

答案 0 :(得分:0)

该模块用于分隔变量和方法。如果您坚持,也许您可​​以尝试制作一个包并在__init__.py

中声明全局变量

请参阅:Can I use __init__.py to define global variables?