【发布时间】:2014-09-07 16:41:00
【问题描述】:
我正在阅读Python 3 编程一本书。在面向对象编程一章中,作者给出了一个使用属性控制属性访问的例子:
class Circle():
def __init__(self, radius):
self.radius = radius
@property
def radius(self):
return self.__radius
@radius.setter
def radius(self, radius):
assert radius > 0, "radius must be nonzero and non-negative"
self.__radius = radius
为什么将数据属性radius改成属性时,变成__radius?
如果我调用:(Shape.py 文件中的代码),有人可以明确解释一下吗
a = Shape.Circle(2)
代码将如何工作? (先调用哪个方法,然后,最后调用哪个方法。)
任何见解将不胜感激!
【问题讨论】:
标签: python oop properties attributes