クラスメソッド、インスタンスメソッド、
3669 ワード
クラスメソッドにはclsパラメータがメソッド自体として必要であり、クラスのサンプル属性は取得できません.
1つのインスタンスは、まず自分の属性を探してから、上記のコード、p 1のようなクラスの属性を探す.get_count()は1を返します.まず自分を探しますから.count属性、ない後に更に類の属性Personを探し当てます._count,
そしてもし
インスタンスメソッドは再帰的ではないようです.
class Person(object):
__count = 0
def __init__(self,name):
self.name=name
Person.__count=Person.__count+1
@classmethod
def how_many(cls):
return cls.name #error
return cls.__count
def get_count(self):
return self.__count
print Person.how_many()
p1 = Person('Bob')
p1.count=2
print Person.how_many()
1つのインスタンスは、まず自分の属性を探してから、上記のコード、p 1のようなクラスの属性を探す.get_count()は1を返します.まず自分を探しますから.count属性、ない後に更に類の属性Personを探し当てます._count,
Person.__count=Person.__count+1, self.__count=self.__count+1, Person.how_many() , p1.get_count() 1
そしてもし
インスタンスメソッドは再帰的ではないようです.
def __init__(self, p, q):
self.p = p
self.q = q
def gcd(self,p1,q1):
if q1==0:
return p1
return gcd(self,q1,p1%q1) #error
def __add__(self, r):
return Rational(self.p * r.q + self.q * r.p, self.q * r.q)
def __sub__(self, r):
return Rational(self.p*r.q-self.q*r.p,self.q*r.q)
def __mul__(self, r):
return Rational(self.p*r.p,self.q*r.q)
def __div__(self, r):
return Rational(self.p*r.q,self.q*r.p)
def __str__(self):
return '%s/%s' %(self.p,self.q)
__repr__ = __str__
r1 = Rational(1, 2)
a=r1.gcd(4,1)
print a
r2 = Rational(1, 4)
print r1 + r2
print r1 - r2
print r1 * r2
print r1 / r2