#閉包:巢狀函式,內部函式呼叫外部函式的變數
#def outer():
#a = 1
#def inner():
#print(a)
#inner()
#outer()
defouter():
a = 1
definner():
(a)
return
inner
inn =outer()
inn()
#import urllib #模組
from urllib.request import
urlopen
#ret = urlopen('').read()
#print(ret)
#def get_url():
#url = ''
#ret = urlopen(url).read()
#print(ret)##
get_url()
defget_url():
url = '
'def
get():
ret =urlopen(url).read()
(ret)
return
getget_func =get_url()
get_func()
#def max(a,b):
#return a if a>b else b##
def the_max(x,y,z): #函式的巢狀呼叫
#c = max(x,y)
#return max(c,z)##
print(the_max(1,2,3))
#函式的巢狀定義
#內部函式可以使用外部函式的變數
#a = 1
#def outer():
#a = 1
#def inner():
#a = 2
#def inner2():
#nonlocal a #宣告了乙個上面第一層區域性變數
#a += 1 #不可變資料型別的修改
#inner2()
#print('##a## : ', a)
#inner()
#print('**a** : ',a)
#outer()
#print('全域性 :',a)
#nonlocal 只能用於區域性變數 找上層中離當前函式最近一層的區域性變數
#宣告了nonlocal的內部函式的變數修改會影響到 離當前函式最近一層的區域性變數
#對全域性無效
#對區域性 也只是對 最近的 一層 有影響
#a = 0
#def outer():
## a = 1
#def inner():
## a = 2
#def inner2():
#nonlocal a
#print(a)
#inner2()
#inner()##
# outer()
#def func():
#print(123)##
# func() #函式名就是記憶體位址
#func2 = func #函式名可以賦值
#func2()##
l = [func,func2] #函式名可以作為容器型別的元素
#print(l)
#for i in l:
#i()
deffunc():
print(123)
defwahaha(f):
f()return f #
函式名可以作為函式的返回值
qqxing = wahaha(func) #
函式名可以作為函式的引數
qqxing()
#命名空間 有三種#內建命名空間 —— python直譯器
# 就是python直譯器一啟動就可以使用的名字儲存在內建命名空間中
# 內建的名字在啟動直譯器的時候被載入進記憶體裡
#全域性命名空間 —— 我們寫的**但不是函式中的**
# 是在程式從上到下被執行的過程中依次載入進記憶體的
# 放置了我們設定的所有變數名和函式名
#區域性命名空間 —— 函式
# 就是函式內部定義的名字
# 當呼叫函式的時候 才會產生這個命名空間 隨著函式執行的結束 這個命名空間就又消失了
#在區域性:可以使用全域性、內建命名空間中的名字
#在全域性:可以使用內建命名空間中的名字,但是不能用區域性中使用
#在內建:不能使用區域性和全域性的名字的
#globals 永遠列印全域性的名字
#locals 輸出什麼 根據locals所在的位置
# 作用域兩種# 全域性作用域 —— 作用在全域性 —— 內建和全域性名字空間中的名字都屬於全域性作用域 ——globals()
# 區域性作用域 —— 作用在區域性 —— 函式(區域性名字空間中的名字屬於區域性作用域) ——locals()
python之路 day10 閉包函式
1.命名關鍵字引數 格式 在 後面的引數都是命名關鍵字引數 特點 1.必須被傳值 2.約束函式的呼叫者必須按照key value的形式傳值 3.約束函式的呼叫者必須用我們指定的key名 1 def auth args,kwargs 2 3使用方式auth name egon pwd 123 4 pa...
day 10 函式名,閉包,迭代器
1.函式名的使用 1.函式名是乙個變數,函式名儲存的是函式的記憶體位址 2.函式名可以賦值給其他變數 3.函式名可以當容器類物件的元素 4.函式名可以當其他函式的引數 5.函式名可以做函式的返回值 2.閉包 閉包就是內層函式對外層函式 非全域性 變數的使用 1.閉包的作用 1.可以保護變數不收侵害 ...
閉關日記 Day10
小雨。我想想怎麼寫,先挖坑。d 確認4.1 考科目三,估計過幾天要開始練車了。晚上去工作室敲 剛好看到他們在筆試,明天就是我筆試了,祝一切順利 專案f的電鋸聲識別,開始用比較勉強的方式實現,算是折衷吧,迫於時間,暫時如此,精準的識別想來是我目前做不出來的,如果畢設做這個,倒是也可以好好研究一些聲音方...