Skip to main content
 首页 » 编程设计

Python:引用变量(hack)

2025年05月04日14sky-heaven

是否有任何方法(hack)插入 Python 函数(def)通过引用返回结果,即使对于不可变类型也是如此?

提案申请(swap as subroutine):
def swap(a, b):<br/> .....a,b = b,a

注意:
def swap(a, b):<br/> .....return b,a
作为函数工作,不是问题的答案!


例如,有一个函数 random.shuffle(a) 就地工作。 我的想法是调用一个用 Fortran/C++ 编写的函数,然后通过 Python 调用它们。它确实有效,但也有缺点。
注意:
“lambda”和“def”(作为函数)都存在以下问题:a, b = swap(a, b)这需要关心变量的顺序。在我的建议中(如果可能的话)子程序用作:swap(a, b) 因此无需关心变量的顺序。

请您参考如下方法:

Python 中的所有名称都是引用。不,没有可用的“out”引用(例如,在 C++ 意义上)。你需要传递一个可变对象,然后你可以在函数中改变它。但话又说回来,返回新值应该是首选方式。