Python中的全局变量

null

Python提供了 Global Local 变量,以便在不同的代码块中使用相同的变量标识符。全局变量通常是在函数之外定义的,在代码文件的任何地方都可以使用它们。但是全局变量也可以在函数中使用。

可变范围

在开始解释全局变量和创建之前,我们需要学习Python中的变量范围。在函数和类外部定义的变量默认为全局变量。除了函数体或作用域和类体或作用域之外,它们可以在应用程序内部的任何地方使用。

#Global Scopeglobal_var=5def myf():   #Local Scope   local_var = 4#Global Scopeprint(global_var)

在上面的示例中,我们可以看到名为localu var的变量是在函数中定义的。局部变量只能在函数的局部范围内访问。名为globalu var的变量在全局范围中定义,默认情况下可以在全局范围中使用。

定义全局变量

让我们从一个简单的例子开始,我们将定义一个全局变量,并在全局范围内多次使用这个变量。此外,我们将尝试在局部范围内使用这个全局变量,这是行不通的。

#Global Scopea = 5def myf():   # This will print 5    print(a)myf()# This will print 5print(a)

我们可以从这个例子中看到,有一个变量是全局的,名为a。当我们在局部范围内使用这个全局变量时,我们可以毫无问题地访问它,并且打印全局变量的值。

定义局部变量

局部变量在局部范围内定义,只能从当前局部范围访问。如果存在同名的全局变量,则它们的行为将类似于不同的变量。在下面的示例中,我们将定义两个名称相同的变量,即a,并打印它们的值。

# Global Scopea = 5def myf():   # Local Scope   a =4       # This will print 4   print(a)myf()# This will print 5print(a)

全局关键字

全球的 关键字用于访问当前局部范围之外的全局变量。例如,可以使用全局关键字在函数内部访问全局变量。global关键字只用于一次使全局变量可以从本地范围访问。下面是一些关于全局关键字的规则。

  • 如果变量在局部范围内使用(如赋值),则假定它是局部变量,除非使用global关键字。
  • 不需要在本地范围之外使用全局关键字。
  • 如果变量名用作局部变量,则不能使用global关键字使其成为全局变量。
# Global Scopea: int = 5def myf():    global a    # This will print 5    print(a)myf()# This will print 5print(a)

当我们尝试使用已经使用的局部变量名时,我们会得到一个类似“SyntaxError:name’a’assigned to before global declaration”的错误。

图片[1]-Python中的全局变量-yiteyi-C++库
全局变量错误

# Global Scopea: int = 5def myf():    # Local Scope    a = 4    global a    # This will print 5    print(a)myf()# This will print 5print(a)

了解更多 Memcached Append操作与Python示例

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享