函式不被呼叫內部**不被執行
函式在被呼叫的時候,每次都會開闢乙個新的記憶體位址,互不干擾
#經典案例
def func(num):
def inner():
print(num)
return inner
result =
for i in range(10):
f = func(i)
v1 = result[0]()
v2 = result[9]()
print(v1,v2)
def 外層函式(引數):
def 內層函式(*args,**kwargs);
return 引數(*args,**kwargs)
return 內層函式
@外層函式
def index()
pass
#示例:
def func(arg):
def inner():
v = arg()
return v
return inner
@func
def index():
print(123)
return 666
print(index)
應用場景:想要為函式擴充套件功能時,使用裝飾器
# 計算函式執行時間
def inner():
start_time = time.time()
v = func()
end_time = time.time()
print(end_time-start_time)
return v
return inner
def func1():
time.sleep(2)
print(123)
def func2():
time.sleep(1)
print(123)
func1()
# 題
v8 = [lambda x:x*i for i in range(10)]
# 1.請問 v8 是什麼?
# 2.請問 v8[0](2) 的結果是什麼?
# 題def num():
return [lambda x:i*x for i in range(4)]
# num() -> [函式,函式,函式,函式]
print([ m(2) for m in num() ]) # [6,6,6,6]
推導式內建模組
python中的推導式和生成式
對乙個列表 集合,字典 根據條件進行迴圈遍歷,把符合條件的篩選出來並生成新的列表 集合,字典 括號內可以寫for迴圈和if else並且可以多層巢狀for if,甚至可以在裡面再巢狀乙個推導式 中括號內寫入for迴圈,對乙個列表進行遍歷,然後寫乙個if條件判斷,對每次迴圈取出的值進行判斷,結果為tr...
python的推導式
python的推導式 multiples for i in range 30 if i 3is 0 print multiples 執行結果 0,3,6,9,12,15,18,21,24,27 這段 從0 29這個序列中,生成乙個3的倍數的列表。如果用推導式寫這段 multiples i for i...
python的推導式
1 python的推導式 推導式是從乙個或多個迭代器快速簡潔的建立資料結構的一種辦法,它可以將迴圈和條件判斷結合,從而可以避免語法冗長的 1 按照我們學的最基礎的方法,輸出乙個列表 my list 0 1 2 3 4 5 print my list 輸出 0,1,2,3,4,5 2 通過for迴圈方...