Python の学習を始めたばかりで、最近、クラスについて学習しているときに問題に遭遇しました。コードを見てください。
class Critter(object):
"""your very own bug generator"""
total=0
def status(x):
print Critter.total
status=staticmethod(status)
def __init__(self,name):
print'a critter has been created'
self.name=name
Critter.total+=1
crit1=Critter('pooch')
crit2=Critter('Duff')
crit3=Critter('pluto')
Critter.status()
print'\nAccessing the class attributes through an object:',crit1.total
コードを実行すると、次のエラーが発生します。
line 19, in <module>
Critter.status(Critter.total)
TypeError: unbound method status() must be called with Critter instance as first
argument(got int instance instead)
バインド/非バインドがどのように機能するかについてはまだ不明です。初心者の質問で申し訳ありませんが、助けていただければ幸いです。