python全局和局部变量,python中全局变量和局部变量的区别

  python全局和局部变量,python中全局变量和局部变量的区别

  序

  学编程的人应该不知道全局变量和局部变量这两个术语。Python和许多编程语言一样,有全局和局部变量的概念。

  然而,与其他编程语言不同

  全局变量和局部变量的本质区别在于范围。

  如果你用简单易懂的语言理解它,

  全局变量在整个py文件中声明,可以全局访问。

  局部变量由函数声明,并且只能由该函数调用。如果你试图在作用域之外调用,程序将会中断。

  如果在函数内部定义了一个与全局变量同名的局部变量,可能会产生意想不到的效果。因此,不建议这样做。这个计划变得不合理。

  让我们看几个例子来理解全局变量和局部变量的区别:

  演示1:

  deffun(x):

  y=2

  打印(乘法(,x*y))的执行结果))))))))))))))))。

  num1=1

  Print (initial num1=,num1))。

  乐趣(排名第一)

  打印(y的值为),y

  执行结果:

  该错误是由于试图访问局部变量,但访问位置不在变量y的范围内。

  演示2:

  deffun(:

  num1=2

  在函数中校正后打印( num1=,num1)。

  num1=1

  Print (initial num1=,num1))。

  fun())

  Print (num1=,执行函数后的num1)。

  执行结果:

  改变函数内部的全局变量后,你会发现在函数执行后,改变是无效的,全局变量不受影响。

  再看看:

  演示3:

  deffun(:

  num1*=2

  在函数中校正后打印( num1=,num1)。

  num1=1

  Print (initial num1=,num1))。

  fun())

  Print (num1=,执行函数后的num1)。

  执行结果:

  有一个错误。这是因为fun))函数使用了局部变量num1。还是那句话,这是一个和全局变量同名的局部变量,使用前必须赋值,不要这样用。

  全局关键字

  如果你真的想改变一个函数中全局变量的值,使用global关键字。

  演示4:

  deffun(:

  全球排名第一

  num1=2

  在函数中校正后打印( num1=,num1)。

  num1=1

  Print (initial num1=,num1))。

  fun())

  Print (num1=,执行函数后的num1)。

  执行结果:

  global关键字用来告诉python编译器这个变量是全局变量而不是局部变量,实际上类似于“引用”的意思

  非本地关键字

  我们再来看另一个与变量相关的关键词,非局部。顾名思义,这意味着当前变量不是局部变量。非本地是Python3.0中的新关键字,python2.x不支持

  首先,让我们看看代码。

  deffun(:

  num2=3

  deffun2(:)

  num2*=2

  Print (num2 ,num2))。

  返回函数2()

  fun())

  执行结果:

  错误原因同上,使用了未定义的局部变量。但是num2不是全局变量,而是fun2函数之外的变量。当您尝试使用global定义num2时,也会报告一个错误。(你试试)

  在这种情况下,非本地关键字是必需的。

  deffun(:

  num2=3

  deffun2(:)

  非局部num2

  num2*=2

  Print (num2 ,num2))。

  返回函数2()

  fun())

  执行结果:

  这样,程序就会正常运行。

  摘要

  至此,关于Python中全局变量和局部变量的文章都介绍到这里了。有关Python全局和局部变量的更多信息,请在脚本之家搜索以前的文章,或者继续参考下面的相关文章。以后想支持剧本之家。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: