我试图做的事情可能更容易通过例子来解释。请考虑以下代码:
在文件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()
答案 0 :(得分:0)
该模块用于分隔变量和方法。如果您坚持,也许您可以尝试制作一个包并在__init__.py