引用类属性的约定是什么?我知道引用类属性有两种方法:
class Circle1:
pi = 3.14
def __init__(self, radius=1):
self.radius = radius
def get_circumference():
return 2 * self.pi * self.radius
class Circle2:
pi = 3.14
def __init__(self, radius=2):
self.radius = radius
def get_circumference():
return 2 * Circle2.pi * self.radius
第一种方法是将它引用为self.attribute
,而第二种方法是将它引用为Class.attribute
。引用类属性的约定是哪种方式?还是没有约定,只是偏好的问题
这真的取决于你将如何使用它
Class.attribute
将它设置为该类的所有实例的属性,而self.attribute
仅用于特定实例。在您的例子中,pi
是始终(大约)3.14,因此它应该是一个类属性,而半径是特定于任何一个圆的,因此应该设置为self.radius
另外,为了帮助缩短代码,您应该只使用一类圆,并强制使用半径(不要指定默认值),因为这是唯一会更改的内容
相关问题 更多 >
编程相关推荐