如何在两个函数之间共享公共变量

时间:2019-04-26 08:35:36

标签: python python-3.x

在Python中没有全局关键字的情况下,func1是否可以与a共享变量func2

def func1():
    a= 5
    print(a)

def func2():        
    print(a)

func1()
func2()

3 个答案:

答案 0 :(得分:4)

只需在一个类中定义两个函数,并将a设置为属性。

class A:

    def __init__(self, a):
        self.a = a

    def func1(self):
        self.a= 5
        print(self.a)

    def func2(self):
        print(self.a)


obj = A(4)
obj.func2()
obj.func1()

输出将是。

4
5

答案 1 :(得分:3)

只需从您的第一个函数返回变量,然后在第二个函数中捕获它:

def func1():
    a= 5
    print(a)
    return a
def func2(a):        
    print(a)

a = func1()
func2(a)

这里有live example

如果您要更新pyqt应用程序中的变量,则可以使用@Devesh answer

答案 2 :(得分:-1)

在函数外定义a

a = 5

def func1():
    print(a)

def func2():        
    print(a)

func1()
func2()

输出:

5                                                                                                                                     
5 

记住

  • 不是最佳实践
  • 仅适用于对a
  • 的读取访问