我目前使用 Python 有一段时间了,我开始质疑自己是否应该像在 C# 中一样经常在 Python 中使用“属性”。 在 C# 中,我主要为我的大部分类创建属性。
似乎属性在 python 中并不流行,我错了吗? 如何在 Python 中使用属性?
问候,
最佳答案
如果您所做的只是设置和查询成员变量,那么通常不需要属性。因为Python没有封装的概念,所有的成员变量都是public的,往往不需要封装访问。但是,属性是可能的,完全合法且流行:
class C(object):
def __init__(self):
self._x = 0
@property
def x(self):
return self._x
@x.setter
def x(self, value):
if value <= 0:
raise ValueError("Value must be positive")
self._x = value
o = C()
print o.x
o.x = 5
print o.x
o.x = -2
关于c# - 在 python 中使用属性,如示例 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3324920/