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

时间:2014-03-11 12:54:08

标签: python

我研究了几个类似的问题,但似乎与我的问题不一样。 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

1 个答案:

答案 0 :(得分:0)

您可能希望使用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)