【发布时间】:2022-12-08 01:23:13
【问题描述】:
我想将一个变量传递给另一个函数,并在该函数中更改它的值。
这是问题的示例:
class TestClass:
_g_a: int
_g_b: int
def __init__(self):
self._g_a = 0
self._g_b = 0
@property
def g_a(self):
return self._g_a
@g_a.setter
def g_a(self, value):
self._g_a = value
@property
def g_b(self):
return self._g_b
@g_b.setter
def g_b(self, value):
self._g_b = value
def run(self):
self.do_something(self.g_a, True)
self.do_something(self.g_b, False)
self.print_it()
def do_something(self, the_variable, change: bool):
if change:
the_variable = 1
def print_it(self):
print(self.g_a)
print(self.g_b)
if __name__ == '__main__':
t = TestClass()
t.run()
如果我运行上面的代码,我得到的结果是 0,0 而不是 1,0。
在 PHP 中有一种传递引用的方法,但我不知道如何在 Python 中实现这一点,因为我刚开始使用它,我想了解如何完成这样的任务。
谢谢你的帮助!
大卫
【问题讨论】:
-
这看起来像一个duplicate question
-
这回答了你的问题了吗? How do I pass a variable by reference?
标签: python python-3.x variables reference