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
-----------------------------------------------------------------------------------
分享知识,分享快乐!希望中国站在编程之巅!
----融水公子
公众微信号:rsgz520
360图书馆馆号:rsgz002.360doc.com
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。