如何在Python中的函数中声明全局变量?
也就是说,它不必在之前声明,但可以在函数之外使用。
答案 0 :(得分:29)
是的,但为什么?
def a():
globals()['something'] = 'bob'
答案 1 :(得分:11)
def function(arguments):
global var_name
var_name = value #must declare global prior to assigning value
这适用于任何功能,无论它是否在同一程序中。
以下是使用它的另一种方法:
def function():
num = #code assigning some value to num
return num
注意:使用内置的return
将自动停止程序(或函数),无论它是否已完成。
你可以在这样的函数中使用它:
if function()==5 #if num==5:
#other code
这将允许您在函数外部使用变量。不一定要宣布为全球性。
此外,要使用从一个函数到另一个函数的变量,您可以执行以下操作:
import primes as p #my own example of a module I made
p.prevPrimes(10) #generates primes up to n
for i in p.primes_dict:
if p.primes_dict[i]: #dictionary contains only boolean values
print p.primes_dict[i]
这将允许您在不使用全局变量或内置return
的情况下在另一个函数或程序中使用该变量。