【问题标题】:How can you pass a variable to an other function in Python and set value to it?如何将变量传递给 Python 中的另一个函数并为其设置值?
【发布时间】: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 中实现这一点,因为我刚开始使用它,我想了解如何完成这样的任务。

谢谢你的帮助!

大卫

【问题讨论】:

标签: python python-3.x variables reference


【解决方案1】:

#Method1-在另一个函数中使用返回值 def fun1(a): 资源 = a + 1 返回资源 定义 fun2(c): 资源 = c * 2 返回资源 输出 = fun1(fun2(1)) 打印(输出) #方法二:直接在一个函数中调用另一个 定义 function_1(n): v = n * n 数 = function_2(v) 返回数字 def function_2(a_number): a_number = a_number * 2 返回 a_number 打印(函数_1(10))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多