python的函数怎么使用传递引用的方式?

python的函数怎么使用传递引用的方式?

例如:

def fa(a):
    a= 2

b = 20
fa(b)

这样b的值仍然是20,如果我想让b的值经过fa(b)后变为2 , fa()函数应该怎么写?
python不支持直接的引用参数传递,因为python可以一次返回多个值,所以这个问题在python提得不多。可以传入可变参数,然后在函数中进行修改,如list, dict, object等。
>>> def a(x):
        b=2
        return b

就可以了,下面是测试结果
>>> f=20
>>> a(f)
2
>>> print a(f)
2
>>>
上面的函数并没有改变传入参数f的值.
>>> def f(x):
        return x
没法做到!
没有引用还是觉得有点别扭。
因为你的思维还不是pythonic的。
“引用”本身就违反严格的结构化程序设计思路,更违反OO
“引用”本质上就是C的传指针,改地址里的内容,就这么回事情
def f():
  global a
  a = 2

a = 3
f()


或许他要的是global....