嗨,我尝试在python中为一个类使用setter和getter,我希望将setter与其他指令一起使用,因此在设置属性值时,setter所做的不仅仅是将值赋给属性。也许我搞不懂二传手和传手是怎么工作的。举个例子:
class test:
self.x = None
@property
def var(self):
return self.x
@var.setter
def var(self, value):
print("Assigning Value")
self.x = value
v = test()
v.var = "hello"
所以在这个例子中我想做的是当x值被赋值时打印“赋值”,但到目前为止还不起作用。你知道吗
我的问题是。我做错什么了吗?我错过什么了吗?或者这不是创先争优的工作方式?你知道吗
谢谢
改变
收件人:
在Python2.x中,只有从对象继承时才能使用描述符。(这是一个向后兼容的东西)。幸运的是,Python3.x已经解决了这个问题
在这一点上,没有自我:
在初始值设定项中将其更改为:
或者通常使用class属性。你知道吗
如果你不确定是哪一种,那就用第一种;在你对差异更有信心之前,使用这种模式会让你不那么困惑。你知道吗
相关问题 更多 >
编程相关推荐