別のファイルからメソッドをインポートすることについて少し混乱しています。
からインポートする Python スクリプトを作成してい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)
states、alphabet、delta、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)
DFA.py
5つの引数を取ると定義されているのに、なぜ2つの引数を取ると言うのかわかりません。ではDFA.py
、次のように表示されます。
class DFA:
def __init__(self, states, alphabet, delta, start, accepts):
...
以前に遭遇した同様のエラーのように思えます ( Python import issueおよびPython classes and __init__ method を参照) が、ここで継承を処理する必要はないと思います。