我怎样才能交换这两个变量

时间:2021-06-03 20:19:05

标签: python oop setter

我必须使用 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())
        

2 个答案:

答案 0 :(得分:1)

试试这个,

 def set_assignThings(self, x, y):        
        self._thing1, self._thing2 = y,x

答案 1 :(得分:0)

更改返回或设置的顺序: 即这里:return self._thing2, self._thing1self._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)
相关问题