在Python中,为什么这样做是不好的:
区域方法可以定义如下:
class Circle:
pi = 3.14159 # class variable
def __init__(self, r = 1):
self.radius = r
def area(self):
return Circle.pi * squared(self.radius)
def squared(base): return pow(base, 2)
区域方法可以定义如下:
def area(self): return self.__class__.pi * squared(self.radius)
除非我大错特错,这被认为是引用类变量的更好方式。问题是为什么?直觉上,我不喜欢它,但我似乎并不完全理解这一点。
Circle.pi
,而不是self.__class__.pi
或者type(self).pi
。 - Bi Rico