Python不使用global如何修改全局变量?Python修改全局变量怎么不加global

在之前的文章之中小编已经给大家介绍过了python全局变量的含义,以及使用global关键字修改全局变量的方法 。但是最近有小伙伴问我在python中符合不使用global去修改全局变量,那么下面这篇文章会以实际示例来讲解这个知识,感兴趣的话就一起看看吧 。

Python不使用global如何修改全局变量?Python修改全局变量怎么不加global

文章插图
全局变量就是定义在python最外层作用域之中的变量,而只要在修改字符串、数字、元组等数据类型时才需要加上global关键字 。看了以下的代码示例就知道了,如下所示:
list1 = [100, 200]def fun():    list1.append(300)fun()print(list1)[100,200,300]在上面的代码之中列表对象list1在函数fun中没有使用global关键字去定义,但是还是通过append()方法向里面添加了一个值为300的元素进行了修改 。然后在外部输出时打印的就是修改后的结果,它就是不使用global关键修改全局变量 。
这里实际上是设计到python可变类型和不可变类型的关系,在上文提到的字符串等三种数据类型都是不可变类型 。当它们作为全局变量在函数内修改时,实际上相当于是复制了一个副本来操作 。
而列表、集合、字典这些数据类型的变量再被修改时是对自己本身进行的操作,所以不需要使用global将其给定义为全局变量也可以直接的进行修改 。
【Python不使用global如何修改全局变量?Python修改全局变量怎么不加global】以上就是关于“Python不使用global如何修改全局变量?Python修改全局变量怎么不加global”的全部内容了,希望对你有所帮助 。

    推荐阅读