十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

解析python的局部变量和全局变量

解析python的局部变量和全局变量 解析的局部变量和全局变量你所提供的内容并非一个完整意义上可改写的句子呀, 请你提供具体的句子以便我按照要求进行改写。仅在函数内部被定义的变量称作局部变量, 倒是那些既可于一个函数里运用, 又能够在别的函数当中运用的变量, 这般模样的变量即为全局变量。 本篇文章向大伙陈述关于局部变量以及全局变量相关的知识, 抱有兴趣的朋友一块儿瞧瞧吧。局部变量什么是局部变量通俗定义函数内部定义的变量就叫局部变量。话不多说代码如下def test1(): a 300 # 定义一个局部变量a,并初始化300 print(--test1--修改前a%s % a) a 200 # 给变量a重新赋值200 print(--test1--修改后a%s % a) def test2(): a 400 # 定义另一个局部变量a,并初始化400 print(--test2--修改后a%s % a) # 分别调用函数test1,test2 test1() test2()输出--test1--修改前a300--test1--修改后a200--test2--修改后a400结论局部变量是在函数内部所定义的变量, 不同函数内部能够定义名字一样的变量, 可是它们不会造成影响, 局部变量的作用啊, 是为了临时保存数据, 鉴于此就要在函数里定义变量去进行存储。全局变量什么是全局变量有一种变量, 它能够在一个函数里头被运用, 同时呢, 它还可以在别的函数里面被使用, 像这样的变量, 就是所谓的全局变量了。代码如下a 100 # 定义一个全局变量a并初始化为100 # 分别定义函数test1、test2,功能是打印变量a的值 def test1(): print(a) def test2(): print(a) test1() test2() 结果如下 100 100 如何修改全局变量的值首先我们可能是这样想的:a 100 # 定义一个全局变量a并初始化为100 # 分别定义函数test1、test2 def test1(): print(修改前a%s%a) a 300 print(修改后a%s%a) def test2(): print(2) test1() test2() 结果如下: local a异常解释局部变量a在被引用前没有被定义 那我们把函数test1中的内容修改如下 def test1(): # print(修改前a%s%a) a 300 print(修改后a%s%a) 结果如下 修改后a300 100 此次我们有所发觉, 错误已然不见不见, 于函数test2之内, 打印变量a的数值并未产生改变, 依旧是100, 这般情形究竟是因何缘故呢?缘故: 要是存在一个全局变量, 于函数内部被再度定义了一回, 而后在该函数之内运用此变量, 那么其 为局部变量要是在函数内部未曾被定义, 直接去运用它就会被视作全局变量。这时, 函数test1当中, 仅仅是定义了一个有着相同名字的局部变量罢了, 并没有去改变全局变量的值, , 也就是没有修改全局变量的值。的使用这之前我们冥思苦想所琢磨出的办法, 通通都没办法改全局变量的值, 这下子就必须得去认识一个崭新鲜有的关键字, 它所具备的功能是, 要是存在在函数里面去定义也就是修改全局变量这种需求的话, 那么就得先运用它来进行声明。把之前的代码修改如下a 100 # 定义一个全局变量a并初始化为100 # 分别定义函数test1、test2 def test1(): global a # 声明函数中使用的a是全局变量 print(修改前a%s % a) a 300 print(修改后a%s % a) def test2(): print(2) test1() test2() 结果如下 修改前a100 修改后a300 300 这下终于修改成功了。可变类型与不可变类型的全局变量被发觉的是, 我们此前所定义的全局变量为数字类型且属于不可变类型这一方面, 此时询问那么修改属于可变类型的全局变量将拥有哪儿些全然不一样之处呢a [100, 200] # 定义一个列表全局变量a # 分别定义函数test1、test2 def test1(): print(修改前a%s % a) a.append(300) print(修改后a%s % a) def test2(): print(a) test1() test2() 结果如下 修改前a[100, 200] 修改后a[100, 200, 300] [100, 200, 300] 我们察觉到无论是否采用关键字去予以声明全局变量, 一旦全局变量属于可变类型, 那么它依旧会被加以修改。事实上总结上述所讲的, 乃是小编向大家介绍的局部变量以及全局变量, 期望能对大家有所助益, 要是大家存有任何疑问, 那就给我留言, 小编会及时回复大家的。在此也万分感激大家对脚本之家网站的支持
返回列表