2021-08-26 Python之内部函数

#内部函数
'''
特点:可以访问外部函数的变量
内部函数可以修改外部函数的可变类型的变量,比如list1
内部函数修改全局的不可变变量时,需要在内部函数声明global
内部函数修改外部函数的不可变的变量时,需要在内部函数中声明nonlocal
locals() 查看本地变量有哪些,以字典形式输出
globals() 查看全局变量有哪些,以字典形式输出,里面会有系统的键值对

 1 def func():
 2     n=100             #局部变量
 3     list1=[1,2,3,4]    #局部变量
 4     def inner_func():
 5         nonlocal n     #在内部函数中修改外层函数变量n,用nonlocal
 6         for index,i in enumerate(list1):
 7             list1[index]=i+n
 8         list1.sort()
 9     inner_func()
10     print('打印老大n',n)
11     print('打印老二list1',list1)
12     print(list1)
13 
14 func()
 1 a=100
 2 print(globals())
 3 
 4 def func():
 5     b=2
 6     def in_func():
 7         global a     
 8         nonlocal b      
 9         c=8
10         c+=12
11         b+=15
12         a+=17
13         print(a,b,c)
14         
15     
16     in_func()
17     print(locals())  #使用locals进行查看,可以看到在当前函数中声明的内容有哪些
18     
19 func()

 

posted @ 2021-08-26 13:46  admin-xiaoli  阅读(67)  评论(0编辑  收藏  举报