我必须使用 setter 和 getter 交换两个变量,但它给出了相同的确切答案
class Thing:
def __init__(self, thing1=0, thing2=0):
self._thing1 = thing1
self._thing2 = thing2
def get_assignThings(self) :
return self._thing1, self._thing2
def set_assignThings(self, x, y):
self._thing1 = x
x = y
self._thing2 = y
obj = Thing()
obj.set_assignThings(2, 3)
print(obj.get_assignThings())
答案 0 :(得分:1)
试试这个,
def set_assignThings(self, x, y):
self._thing1, self._thing2 = y,x
答案 1 :(得分:0)
更改返回或设置的顺序:
即这里:return self._thing2, self._thing1
或self._thing1 = y
self._thing2 = x
完整代码:
class Thing:
def __init__(self, thing1=2, thing2=3):
self._thing1 = thing1
self._thing2 = thing2
def get_assignThings(self):
return self._thing2, self._thing1
def set_assignThings(self, x, y):
self._thing1 = x
self._thing2 = y
obj = Thing()
obj.set_assignThings(2, 3)
print(obj.get_assignThings())
出局:
(3, 2)