我有一个我在 Python 2.7 中工作的应用程序,它有几个需要互相交互的类,然后将所有内容返回给主程序进行输出。
所以代码的一个简短例子是:
class foo_network():
"""Handles all network functionality"""
def net_connect(self, network):
"""Connects to the network destination"""
pass
class foo_fileparsing():
"""Handles all sanitation, formatting, and parsing on received file"""
def file_check(self, file):
"""checks file for potential problems"""
pass
目前我有一个主文件/函数,它实例化所有类,然后根据需要处理它们和它们的方法之间的来回传递数据。然而,这似乎有点笨拙。
因此,我想知道两件事:
我想知道我是否应该在另一个类中实例化一个类的对象(例如,如果在 foo_network 类中创建一个 foo_fileparsing 对象,这是唯一会调用它的类,而不是我当前将所有东西都返回到main函数并将其传递给对象的方法。
不幸的是,我找不到可能解决此类情况的PEP或其他资源。
答案 0 :(得分:0)
您可以使用模块。并将每个班级都放在一个模块中。 然后您可以使用import从该类中仅导入特定方法。 您需要做的就是创建一个名称与您的类名相同的目录,并在该目录中放置一个 init .py文件,告诉python将该目录视为一个模块。 然后为前。 foo_network文件夹包含名为foo_network.py的文件和文件 init .py。在foo_network.py中,代码是 -
class foo_network():
"""Handles all network functionality"""
def net_connect(self, network):
"""Connects to the network destination"""
pass
,在任何其他文件中,您只需使用
即可import net_connect from foo_network
它只会导入该特定方法。这样,您的代码看起来就不会太乱,您只能导入所需的代码。 你也可以做
import * from foo_network
一次导入所有方法。
希望有所帮助。