質問
私は、Pythonに新しいです。私はクラスの簡単な関数を定義して実行しようとしていた。
誰もが私のコードで間違っているものを私に教えてくださいすることができます:
class A :
def m1(name,age,address) :
print('Name -->',name)
print('Age -->',age)
print('Address -->',address)
>>> a = A()
>>> a.m1('X',12,'XXXX')
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
a.m1('X',12,'XXXX')
私は、エラーの下に取得しています
の例外TypeErrorは:M1()は正確に3位置の引数を取る(4所与)の
解決
インスタンスメソッドは、最初の引数としてインスタンスをとります
class A :
def m1(self, name,age,address) :
print('Name -->',name)
print('Age -->',age)
print('Address -->',address)
また、静的な関数を作成するために @staticmethodデコレータに使用することができます
class A :
@staticmethod
def m1(name,age,address) :
print('Name -->',name)
print('Age -->',age)
print('Address -->',address)
他のヒント
最初のパラメータは、常にオブジェクト自体である。
class A :
def m1(self, name,age,address) :
print('Name -->',name)
print('Age -->',age)
print('Address -->',address)
は、慣例により、クラスインスタンスのメソッドは、名前のself
を第一引数としてオブジェクト参照を受け取ります。
>>> class A:
... def m1(self,name,age,address):
... print('Name -->',name)
... print('Age -->',age)
... print('Address -->',address)
...
>>> a=A()
>>> a.m1('X',12,'XXXX')
('Name -->', 'X')
('Age -->', 12)
('Address -->', 'XXXX')
>>>
所属していません StackOverflow