Python学习笔记_6:global 与 nanlacal 的区别

之前我在 matlab 的笔记里介绍过一次 global 的用法

这次在 python 中介绍下 global 和 nanlacal 的区别

global 函数:

在函数中修改全局变量

>>> I = 'ABC'
>>> def fun():
		global I
		I = '123'
		print(I)
>>> fun()
>>> print(I)
%输出为
123
123

运行 fun() 函数时,global 函数将全局变量 I = ‘ABC’ 修改为 I = ‘123’,并覆盖原先的全局变量 I 的值。

nonlocal 函数:

在函数中的内部函数中,修改其外部函数中定义的局部变量

先看一份例子,稍后我们使用nonlocal来修改
>>> I = '东北大鹌鹑'
>>> def fun():
    	I = 'PDD'
    	def function():
        	I = '周淑怡'
        	print(I)
    	function()
    	print(I)
>>> fun()
>>> print(I)
%输出是%
周淑怡
PDD
东北大鹌鹑

而我现在把 ’PDD‘ 也换成 ’周淑怡‘ ,就要使用nonlocal函数了
在这里插入图片描述

>>> I = '东北大鹌鹑'
>>> def fun():
    	I = 'PDD'
    	def function():
	        nonlocal I
        	I = '周淑怡'
        	print(I)
    	function()
    	print(I)
>>> fun()
>>> print(I)
%输出为
周淑怡
周淑怡
东北大鹌鹑

PDD:你怎么把我给整没了呢???
在这里插入图片描述
哈哈哈哈,皮一下
在这里插入图片描述
从上面的例子可以看到:

我们一般在某函数的内部函数中使用 nonlocal 函数来修改这个函数的局部变量,而不会改变整个代码的全局变量,nonlocal 用途还算比较广泛的。

发布了27 篇原创文章 · 获赞 59 · 访问量 7612

猜你喜欢

转载自blog.csdn.net/qq_45504119/article/details/104694302