global 和 nonlocal关键字 当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字了 内改外 #!/usr/bin/python # -*- coding: utf-8 -*- num=1 def fun(): global num print(num) num=1 print(num) fun() print("外部变量:",num) # 1 1 外部变量: 1 ----------------------------------------------------------------------------------- 修改嵌套作用域(enclosing 作用域,外层非全局作用域)中的变量则需要 nonlocal 关键字了 #!/usr/bin/python # -*- coding: utf-8 -*- def outer(): num=10 def inner(): nonlocal num num=100 print(num) inner() print(num) outer() # 100 100 ----------------------------------------------------------------------------------- 陷阱: #!/usr/bin/python # -*- coding: utf-8 -*- a=10 def fun(a): a=a+1; print(a) fun(a)#11 ----------------------------------------------------------------------------------- 分享知识,分享快乐!希望中国站在编程之巅!
360图书馆馆号:rsgz002.360doc.com |
|