学习视频:https://www.bilibili.com/video/BV1SE411N7Hi?p=55
以下内容仅供个人学习使用,侵删
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#global 只修改全局的变量
#nonlocal :在局部内,修改离nonlocal最近的一层,如果上一层没有就继续向上上层查找;本层不能出现同名变量
globals()#查看全局空间
locals()#查看局部空间
"""
函数的注释:
函数名.__doc__()查看函数的注释
函数名.__name__()查看函数名
"""
#------------------------------global
#a=10
# print (globals())#查看全局空间,全局变量以字典形式存在
# def func():
# a=5
# def foo():
# global a#只改全局变量a
# a+=1
# print(a)
# foo()
# print(a)
# func()
# 11
# 5
# def func():
# global a
# a=10
# func()
# print(a)
#----------------------------------nonlocal
# a=10
# def func():
# a=8
# def foo():
# a=6
# def f1():
# a=4
# def f2():
# a=3
# def f3():
# nonlocal a
# a+=4
# print(a)#7
# f3()
# print(a)#4
# f2()
# print(a)#6
# f1()
# print(a)#8
# foo()
# func()
# print(a)#10
a=10
def func():
a=8
def foo():
#a=6
nonlocal a #要求本层没有a,否则报错
a+=2
def f1():
print(a)#10
f1()
foo()
print(a)#10
func()
print(a)#10