我对从另一个文件导入方法有点困惑。
我正在编写一个从python-automata
. 我已经下载了该文件,并在我的../Python/
目录中DFA.py
存储了该文件myfile.py
。
在myfile.py
我上面写了这个:
import DFA
当我按照python 教程中的内容进行操作时,我假设myfile.py
我可以使用DFA.py
. 该文件有一个名为的方法__init__
,它接受 5 个参数并初始化一个DFA
. 然后我把它写在myfile.py
:
DFA.__init__(states, alphabet, delta(states, alphabet), start, accepts)
其中状态、字母表、增量、开始和接受是我在 myfile.py 中初始化的所有基本列表/函数。
但是当我尝试运行 myfile.py 时,我得到了这个错误:
Traceback (most recent call last):
File "myfile.py", line 21, in <module>
DFA.__init__(states, alphabet, delta(states, alphabet), start, accepts)
TypeError: module.__init__() takes at most 2 arguments (5 given)
我不确定为什么它说它需要 2 个参数,当DFA.py
它定义为接受 5 个参数时。在DFA.py
中,我看到:
class DFA:
def __init__(self, states, alphabet, delta, start, accepts):
...
这似乎是我之前遇到的类似错误(请参阅Python 导入问题和Python 类和 __init__ 方法),但我认为我不需要在这里处理继承。