【发布时间】:2017-12-05 00:44:24
【问题描述】:
我正在编写一个 python 类来存储数据,然后另一个类将创建该类的一个实例来打印不同的变量。一些类变量需要大量格式化,可能需要多行代码才能使其处于“最终状态”。
只使用这种结构从类外部访问变量是不好的做法吗?
class Data():
def __init__(self):
self.data = "data"
还是使用@property 方法访问变量更好?
class Data:
@property
def data(self):
return "data"
【问题讨论】:
-
属性语言支持的全部意义在于让您永远不必做出此决定。您从普通属性开始,并在有意义时使用属性。
-
@IgnacioVazquez-Abrams 你说得有道理......但在 python 中很难看到,因为默认情况下可以访问所有属性。
-
从简单的属性访问开始。稍后,如果您发现需要控制访问,请将其设为属性,但仅此而已。这就是整个point。
-
另外,您指的是 instance 变量,而不是 类变量。
标签: python properties getter-setter