ad

通过《Python趣味编程入门与实战》_领略Python的趣味_8.4.3 global 和 nonlocal 关键字

网友投稿 122 2023-11-13

【摘要】 本书摘自《Python趣味编程入门与实战》一书中第8章,第4节,王征、李晓波著。

8.4.3 global 和 nonlocal 关键字

当内部作用域想修改外部作用域的变量时,就要用到 global 和 nonlocal

通过《Python趣味编程入门与实战》_领略Python的趣味_8.4.3 global 和 nonlocal 关键字

关键字。下面先来看一下 global 关键字的应用。

单击“开始”菜单,打开Python 3.7.2 Shell 软件,然后单击菜单栏中 的 “File/New File” 命令,创建一个Python 文件,并命名为 “Python8-9.

py”, 然后输入如下代码:

num =1

def fun1():

global num print(”使用

变量,其值为:",num) num = 123

#使用 global 关键字声明

global 关键字声明后,就可以在自定义函数中引用外部

#重新为外部变量 num 赋值

print(" 重新为外部变量 num赋值后的值:",num)

print(" 没调用函数前,全部变量的值:",num)

print()

fun1() #调用自定义函数 fun1()

print()

print(" 调用函数后,全部变量的值:",num )

在这里可以看到,首先定义一个全局变量num, 其值为1。然后自定义 函数 fun1(), 在该函数中利用global 关键字声明全局变量num, 这样函数内

与函数外的变量 num 就会同时更新。

接着显示变量 num, 这里就是1,即全局变量的最初值。随后变量num 赋值为123,那么函数内的变量 num 变为123。需要注意的是,这里函数外

的变量 num 也变为123。

接下来显示没有调用函数之前的变量 num 的值,当然是1。

随后调用函数 fun1(),然后显示调用后的变量 num 的值,当然是123。

单击菜单栏中的 “Run/Run Module” 命令或按下键盘上的 “F5”, 就可以运行程序代码,结果如图8.20所示。

下面来看一下 nonlocal 关键字的应用。

单击“开始”菜单,打开Python 3.7.2 Shell 软件,然后单击菜单栏中的 “File/New File” 命令,创建一个Python 文件,并命名为 “Python8-10.

py”, 然后输入如下代码:def outer():

num = 10

def inner():

nonlocal num print("nonlocal

值为",num)

print()

num = 100

#自定义函数

#自定义嵌套函数

#nonlocal 关键字声明

关键字声明,在嵌套函数中调用num 的值,其

#重新为 num 赋值

print(" 重新为 num赋值后,其值为",num)

print()

inner() #调用嵌套函数

prin t(" 调用嵌套函数后,num 的值为",num)

outer() #调用自定义函数在这里可以看以,这里自定义函数outer(), 然后在函数 outer()中嵌套 函 数 inner() 。 在嵌套函数 inner() 中使用 nonlocal 关键字声明,这样嵌套函

数内外变量 num 的值都联动更新。

单击菜单栏中的 “Run/Run Module” 命令或按下键盘上的 “F5”, 就可以运行程序代码

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:通过《Python趣味编程入门与实战》_领略Python的趣味_11.3.3 输入文本框控件
下一篇:通过《Python趣味编程入门与实战》_领略Python的趣味_7.1 Python 的函数及应用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×