2017-06-06 20 views
-1

を取り、私のエラーがクラスメソッドは、正確に2つの引数(1は、与えられた)

ある
class SomeClass1(): 
    def func1(self,text): 
    ..... 
class SomeClass2(): 
    def func2(self): 
    a=SomeClass1.func1("string") 

を説明してくださいエラーを与える:func2のA = SomeClass1.func1で ( "文字列")、func1のは(正確に2つの引数を取ります1)

+1

インスタンスを渡していません: 'SomeClass1()。func1(" string ")' –

答えて

0

完全性のために、クラスを介して関数を呼び出し、インスタンスをパラメータとして渡す解決策を次に示します。あなたは同じようにそれを呼び出すために欠けている場合は

class SomeClass2(): 
    def func2(self): 
    obj = SomeClass1() 
    a = SomeClass1.func1(obj, "string") # this will help you understand the meaning of `self` as parameters inside those functions. 
+0

ありがとうございます。今それは明らかです –

+0

@AkopDjango問題はありません。それが助けられたなら、それをアップヴォートにするか、それを受け入れてマークすることを検討してください。 :) –

2

、あなたはこの場合、この

class SomeClass1(): 
    @staticmethod 
    def func1(text): 
     print(text) 

のように関数func1に変更することができ、「func1のは、」静的メソッドになります。つまり、インスタンスを作成して呼び出す必要はありません。

関連する問題