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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。