Python – @ property与__init __()中的设置有什么区别?
发布时间:2020-12-20 11:59:16 所属栏目:Python 来源:网络整理
导读:无法从这个问题的其他主题得到一个直接的答案: 在Python中,使用之间的主要区别是什么 class Foo(object): def __init__(self,x): self.x = x 和 class Foo(object): def __init__(self,x): self._x = x @property def x(self): return self._x 通过它使用@p
无法从这个问题的其他主题得到一个直接的答案:
在Python中,使用之间的主要区别是什么 class Foo(object): def __init__(self,x): self.x = x 和 class Foo(object): def __init__(self,x): self._x = x @property def x(self): return self._x 通过它使用@property以这种方式看起来使x只读..但也许有人有更好的答案?谢谢/弗雷德 解决方法
对于您的示例,是的,这允许您具有只读属性.此外,属性可以让您看起来拥有比实际更多的属性.考虑一个带有.radius和.area的圆圈.该区域可以根据半径计算,而不必同时存储
import math class Circle(object): def __init__(self,radius): self.radius = radius @property def area(self): return math.pi * (self.radius ** 2) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |