2017-05-02 12 views
-1

を関数への引数を渡し、その後、クラスをインポートします。私はこれを書いた:は、私はPythonのファイルを持っている

class Ford(dict): 
    def fordit(read): 
     fajl = open(read) 
     for sor in fajl: 
      print(sor) 
     fajl.close() 

をしかし、私はエラーを取得 "はTypeError:fordit()は正確に1引数を(2が与えられた)かかり"。何が問題ですか?

+1

'self'引数を明示的に宣言しなければなりません。 – user2357112

答えて

3

forditに必要な引数を定義していません。 f.fordit(x)Ford.fordit(f, x)と等価ですので、と2つの引数を定義する必要があります。最初はメソッドを呼び出すオブジェクトで、通常はselfという名前です。

(関係のない、しかし、あなたは、ファイルは、それが開いている間にエラーが発生しても閉じていることを保証with文を使用する必要があります。with文が完了すると、ファイルは暗黙的にクローズされます。)

class Ford(dict): 
    def fordit(self, read): 
     with open(read) as fajl: 
      for sor in fajl: 
       print(sor) 
関連する問題