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

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

  全局变量是在函数外部定义和声明的变量,必须在函数内部使用。

  # thisfunctionusesglobalvariables

  傅(:)

  s印刷

  #全球范围

  “我爱极客之福”

  f())

  输出:我喜欢Geeksforgeeks。

  如果在函数的作用域中定义了同名的变量,则只打印函数中的给定值,而不打印全局值。

  #该函数有一个变量

  #名称与s相同。

  傅(:)

  “我也是。”

  s印刷

  #全球范围

  “我爱极客之福”

  f())

  的打印副本代码将在IDE中执行。

  输出:我也是。

  我喜欢极客。

  在我们调用函数f))之前,变量s被定义为字符串‘我爱geeks forgeeks’。f))中唯一的语句是“print s”语句。因为没有局部s,所以使用全局s的值。

  问题是,如果你改变函数f()的s值,会发生什么?是否也会影响世界?在下面的代码中测试。

  傅(:)

  s印刷

  #此程序不会显示错误

  #如果我们在第7行下面评论.

  “我也是。”

  s印刷

  #全球范围

  “我爱极客之福”

  f())

  s印刷

  输出:第二行:未定义:错误:在赋值前引用了局部变量。

  要使上述程序生效,您必须使用“global”关键字。如果你想分配/修改它们,只需在函数中使用全局关键字。并且打印访问不必是全局的。为什么?Python“假设”我们需要局部变量。第一个print语句抛出这个错误消息,因为它是在f()内赋值的。在函数中更改或创建的变量是局部变量(如果没有声明为全局变量)。要在Python中使用全局变量,必须使用关键字“global”,如下例所示:

  # thisfunctionmodifiesglobalvariable

  傅(:)

  s全球

  s印刷

  s= lookforgeeksforgeekspythonsection

  s印刷

  #全球范围

  s=Python太棒了!

  f())

  s印刷

  现在已经没有歧义了。

  输出:Python太棒了!

  我在找Geeksforgeeks Python。

  我在找Geeksforgeeks Python。

  一个很好的例子。

  a=1

  # usesglobalbecausetherisnolocal a

  傅(:)

  Print inside f():),a

  #变量“a”是definedasalocal

  def g)):

  a=2

  打印“inside g():”,一个

  # usesglobalkeywordtomodifyglobal a

  def h)):

  全球a

  a=3

  Print inside h():),a

  #全球范围

  打印“全局:”,a

  f())

  打印“全局:”,a

  g()).

  打印“全局:”,a

  h()).

  打印“全局:”,a

  输出:全局:1

  在f()内部:1

  全球:1

  内部g ():2

  全球:1

  内部h ():3

  全球:3

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

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