如何访问另一个函数中的函数变量

新手上路,请多包涵

在将 python 中的多个变量从一个函数调用到另一个函数时,我遇到了一个小问题。就像我必须在 yyy() 中访问 xxx() 变量的变量一样。帮我做这个。?

例子 :

 def xxx():
        a=10
        b=15
        c=20

def yyy():
        xxx()
        print a        ### value a from xxx()
        print b        ### value b from xxx()

yyy()

原文由 Ganeshgm7 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 636
2 个回答

从您的第一个函数返回它们并在您的第二个函数中接受它们。例子 -

 def xxx():
    a=10
    b=15
    c=20
    return a,b

def yyy():
    a,b = xxx()
    print a        ### value a from xxx()
    print b        ### value b from xxx()

yyy()

原文由 Sharon Dwilif K 发布,翻译遵循 CC BY-SA 3.0 许可协议

你不能。在函数中创建的变量是该函数的局部变量。因此,如果您希望函数 yyy 获取函数中定义的某些变量的值 xxx 那么您需要从 xxx 中返回它们,如 K-D 中所示回答。请注意, yyy 中的变量名称是无关紧要的;你可以写:

 def yyy():
    p, q = xxx()
    print p        ### value a from xxx()
    print q        ### value b from xxx()

并且它会给出相同的输出。

或者,您可以创建 自定义类。简而言之,类是数据以及操作该数据的函数的集合。类的函数称为方法,数据项称为属性。类的每个方法都可以有自己的局部变量,但也可以访问类的属性。例如

class MyClass(object):
    def xxx(self):
        self.a = 10
        self.b = 15
        self.c = 20

    def yyy(self):
        self.xxx()
        print self.a
        print self.b

#Create an instance of the class
obj = MyClass()

obj.yyy()

输出

10
15

有关 Python 中的类的更多信息,请参阅链接文档。

原文由 PM 2Ring 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏