在Python中没有全局关键字的情况下,func1
是否可以与a
共享变量func2
?
def func1():
a= 5
print(a)
def func2():
print(a)
func1()
func2()
答案 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
记住