python 局部变量改变全局,Python 局部变量
变量按作用域可分为全局变量和局部变量。
1.当没有全局声明时,函数内部的变量是局部变量,只能在函数内部使用。
2.全局变量在函数外部声明,作用域是声明的代码。如果你在声明之前调用它们,你会得到一个错误。如下图。
showglobal的执行结果(:print (a) a) showglobal) a=我是全局变量 print)。
trace(mostrecentcalllast):file c:/users/10270/desktop/py _ test/test _ 10 _ 4。py ,第41行,模块showglobal()文件 c:/users/10270/desktop/py _ test/test _ 10 _ 4 . py ,第37行,inshowglobalprpral声明时不能赋值。请注意,可以在声明后赋值,不仅可以在函数内部使用,也可以在函数外部使用。以下简称为
Showglobal (:globala= I是函数 print 内部声明的全局变量)show global))print(a)的执行结果。
我是在函数内部声明的全局变量。我是在函数内部声明的全局变量。如果在声明之前使用,将会出现错误。如下图。
函数内部声明的showglobal (:globala=我是全局变量 print) a (print) showglobal)的执行结果)。
Trace (mostrecentcalllast):文件 c:/users/10270/desktop/py _ test/test _ 10 _ 4。py ,第41行,inmoduleprint(a)name error 3360 name a 未定义3,声明全局变量和局部变量,使局部变量的优先级高于全局变量。也就是说,邻里原则。
A=(我是全局变量 def showglobal (): a=(我是局部变量 print) a) print (a) showglobal))执行结果:
我是一个全局变量。我是一个局部变量。请注意以下代码:
请考虑A=3 defshow Global(:A=A * 3 Print(A)Print(A)Show Global))输出3和9。代码运行到showglobal时报告错误)。
3回溯(杂项):file c:/users/10270/desktop/py _ test/test _ 10 _ 4。py ,模块showglobal()文件 c:/users/10270/desktop/py _ test/test _ 10 _ 4中的第41行。py ,第37行,how global a=a*3 unboundlocalrerror:局部变量 a Referencedbeforeassignment原因是上面提到的最近原理,a=a * 3,这里python是一个函数。
4.用非局部变量声明的变量通常在嵌套函数中声明。声明后可以使用外部函数的变量,变量的值可以改变;
test(3360 deftest 2):global g _ variable g _ variable= global variable print 内部函数调用:,g _ variable非本地 print),g _ variable
内部函数调用:全局变量:全局变量内部函数调用:内部函数固定外部函数的局部变量。非局部变量全局变量:无论声明的是global还是非local,global variable或者更高的都会修改这个变量的值,修改原变量的值。它们使用相同的值。
5.还有一个变量在类中的应用。这个时候还没有局部变量和全局变量的概念。
直接在类中定义的变量称为类属性,属于类,可以被对象引用。参考方法是直接用self。变量名或类名。变量名。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。