class MyClass(object):
def __init__(self, name):
self.name = name
self._prof = None
self._ischanged = False
@property
def prof(self):
if not self._prof:
self._prof = "Sample Prof"
return self._prof
@prof.setter
def prof(self, value, anothervalue):
pass
在这里,您可以使用以下方式获取教授:
myclass = MyClass("sam")
myclass.prof
但是我找不到设置教授值的方法。
在上面的代码中,我如何将两个值传递给prof?
答案 0 :(得分:2)
您无法将两个值传递给setter。当你这样做时:
instance.property = whatever
python使用instance
(作为self
)和whatever
作为参数调用setter。
你可以传递一个2元组:
myclass.prof = ('one', 'two')
在这种情况下,setter将传递2元组('one', 'two')
作为值。如果那不是您想要的,那么最好使用vanilla方法来设置值。 e.g:
myclass.set_prof(value1, value2)