學習視頻: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