python如何修改全局变量,python设置全局环境变量
本文主要讨论python是否可以在不添加全局的情况下修改全局变量。当我们在局部范围内使用全局变量时,我们需要使用global关键字来声明它们,否则它将不可用。不过下面小编就和大家分享一下可以修改的数据类型。这是一种在修改函数时不需要声明global的业务情况。有需要的朋友可以参考一下。
以下面的代码为例。我们在局部范围内使用全局变量A,并且需要使用global关键字来声明它。否则,代码将不可用。
a=100
def fun():
全球a
a=100
乐趣()
打印(一份)
但是也有一种常见的情况,
可以修改的数据类型在函数内部做修改操作是不需要声明global的:
list1=[100,200]
def fun():
list1.append(300)
乐趣()
打印(列表1)
但是如果把添加元素的命令换成列表拼接的方式:
list1=list1 [300]
然后代码仍然不可用,需要添加关键字global来声明list1可用。
进一步展开说:
list1=[100,200]
打印(列表1,id(列表1))
list1=list1 [300]
打印(列表1,id(列表1))
列表1=[400]
打印(列表1,id(列表1))
list1.append(500)
打印(列表1,id(列表1))
With list1=list1 [300]
如图,list1=list1 [300]改变了list1的id,也就是说得到的新list1并没有被原来的list1改变,而是重新生成的。也可以理解为新分配的list1,只是在过程中只利用了list1。代码在没有全局的局部范围内是不可用的,因为list1 [300]中的list1在新的变量生成之前是无法取出的。
1=[400],list1.append(500)不改变id,但改变了原始变量list1。
但是list1=[400]没有全局不可用,原因同上;1.列表。append (500)可以不带global使用,对于满足函数内可用修改的数据类型的修改操作,没有必要声明global。
在python中修改全局变量可以不加全局吗?文章到此结束。关于python修改全局变量的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望你以后能支持风行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。