Python 3.3 如何从另一个函数的本地命名空间更新一个函数的本地命名空间?



我研究过几个类似的问题,但似乎和我的问题不一样。下面的update_namespace_from是用x的本地命名空间更新y的本地命名空间。

如何?或者这是可能的吗?

def x():
    a=1
    b=2
    c=3
def y():
    a=6
    d=4
    update_namespace_from(x())
    return a,b,c,d  # will get 1,2,3,4

您可能想使用global,但不建议这样做:

In [306]: def x():
     ...:     global a, b, c
     ...:     a=1
     ...:     b=2
     ...:     c=3
     ...: 
     ...: def y():
     ...:     global a, d
     ...:     a=6
     ...:     d=4
     ...:     x()
     ...:     return a,b,c,d  # will get 1,2,3,4
In [307]: y()
Out[307]: (1, 2, 3, 4)

最新更新