如何在python函数中设置全局变量?
要global
在函数内部使用变量,您需要global <varName>
像这样在函数内部进行操作。
testVar = 0
def testFunc():
global testVar
testVar += 1
print testVar
testFunc()
print testVar
给出输出
>>>
0
1
请记住,global
如果您要进行分配/更改它们,则只需要在函数内声明它们。global
打印和访问不需要。
你可以做,
def testFunc2():
print testVar
而global
不像我们在第一个函数中那样声明它,它仍然可以正确赋值。
以alist
为例,您不能在list
不声明的情况下分配a ,global
但是可以调用它的方法并更改列表。如下所示。
testVar = []
def testFunc1():
testVar = [2] # Will create a local testVar and assign it [2], but will not change the global variable.
def testFunc2():
global testVar
testVar = [2] # Will change the global variable.
def testFunc3():
testVar.append(2) # Will change the global variable.
问题内容: 如何在函数中创建或使用全局变量? 如果在一个函数中创建全局变量,如何在另一个函数中使用该全局变量?我是否需要将全局变量存储在需要对其进行访问的函数的局部变量中? 问题答案: 你可以在其他函数中使用全局变量,方法是像在分配给它的每个函数中一样声明它: 我想这是因为全局变量是如此危险,因此Python希望通过显式要求使用关键字来确保您真正知道这就是要使用的内容。
问题内容: 我知道我应该避免由于这样的混乱而首先使用全局变量,但是如果我要使用它们,以下是使用它们的有效方法吗?(我正在尝试调用在单独函数中创建的变量的全局副本。) 第二个函数使用的是否具有与使用和修改的的全局副本相同的值?定义后调用函数时,顺序重要吗? 问题答案: 如果你只想访问全局变量,则只需使用其名称即可。但是,要更改其值,你需要使用global关键字。 例如 这会将全局变量的值更改为55。
我知道由于这样的混淆,我应该首先避免使用全局变量,但是如果我要使用它们,以下是使用它们的有效方法吗?(我正在尝试调用在单独的函数中创建的变量的全局副本。) 第二个函数使用的是否与使用和修改的的全局副本具有相同的值?定义后调用函数时,顺序重要吗?
问题内容: 有没有一种方法可以将一个函数定义为在一个类中是全局的(或者,实际上是在另一个函数中)?类似于定义全局变量。 问题答案: 将函数添加到当前名称空间,就像将添加任何其他名称一样。这意味着您可以在函数或方法中使用关键字: 同样适用于类主体或方法: 区别将在导入时执行顶级类主体时立即定义。 像您的所有用途一样,您可能想重新思考问题并找到另一种解决方法。例如,您可以 返回 如此创建的函数。 演示
问题内容: 我正在使用函数,这样我的程序就不会一团糟,但我不知道如何将局部变量变成全局变量。 问题答案: 这是两种实现相同目的的方法: 使用参数并返回(推荐) 运行时,将获得以下输出 使用全局变量(永远不要这样做) 现在您将获得:
rank ▲ ✰ vote url 12 851 228 1287 url 如何在一个函数里用全局变量? 如果我在一个函数里建了一个全局变量,那么我怎么在另一个函数里使用这个全局变量? 我需要把这个全局变量赋值给这个函数的局部变量吗? 如果你要在别的函数里使用全局变量,只要在被调用全局变量函数的里事先用global声明一下: globvar = 0 def set_globvar_to_one(