【发布时间】:2012-11-04 02:05:15
【问题描述】:
我在 python 中作为一个类编写了一些代码,但现在我正试图将其作为一个包分发,我在弄清楚不同部分应该如何组合在一起时遇到了一些麻烦。
所以,当我最初编写代码时,我有一个包含一些函数的类,包括一个__init__ 函数。我现在已将这些函数中的每一个拆分到其自己的以函数名称命名的文件中,但我不确定将 init 函数放在哪里,因为它需要参数。下面是一个例子。
原始格式:
class className(object):
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
def func1(self):
def func2(self, arg3):
使用:
import name
a = name.className(arg1, arg2)
a.func1()
a.func2(arg3)
现在文件树是:
Name/
/className
__init__.py
func1.py
func2.py
然后包括其他功能。我想保持与原来相同的基本使用模式。
现在,我的问题是__init__ 函数应该去哪里?在__init__.py 文件中?别的地方?另一个问题是我想在__init__.py 文件中添加一些导入;我知道它们应该放在__init__.py 文件中,但我不知道它们与__init__ 函数有什么关系。任何帮助表示赞赏。
【问题讨论】:
-
如果您的类太大,您觉得需要将其拆分为多个文件,您可能需要考虑将其重构为单独的类。
-
我实际上对如何创建包有一个错误的印象,但我想我现在已经弄清楚了。谢谢。
标签: python