#內部函式可以使用外部函式變數的行為,就叫閉包。
from functools import reduce
def outer(x):
print('不能使用inner的引數。。。。')
def inner(y):
print(x+y)
inner(x)
return '**** off'
outer(4)
#裝飾器其實就是乙個閉包,把乙個函式當做引數然後返回乙個替代版函式。
def outer(func):
def inner(x,y):
ret=func(x)
return x+ret+y
return inner
@outer
def func(x):
return x
print(func(5,6))
#遞迴函式:是指在函式的定義中使用函式自身的方法。
#計算n的階乘
#方法一
def factoral(n):
if n==1:
return n
else:
return factoral(n-1)*n
#方法二 匿名函式 高階函式
def faclam(n):
return reduce(lambda x,y:x*y,range(1,n+1))
print(faclam(1))
print(factoral(1))
Python函式閉包裝飾器
x 2222 print x def func1 x 65842 deffunc2 x 65412 print x func2 func1 print x 2222 65412 2222 global 呼叫全域性變數 x 8888 deffunc1 deffunc2 global x x 10000...
python函式篇 閉包 裝飾器
作用 使函式外部能訪問函式內部區域性變數,且當函式完後依然可以儲存該變數 特徵 函式內部巢狀,內部函式訪問外部函式區域性變數,外部函式返回內部函式位址 或者直接呼叫內部函式 defa num 4deff print num return f b a b 或者 defa num 4deff print...
函式名應用,閉包,裝飾器初識
一 函式名的應用 函式名是乙個變數,但他是乙個特殊的變數,與括號配合可以執行函式的變數。1 函式名的記憶體位址 def func print 哈哈 print func 結果 2 函式名可以賦值給其他變數 def func print 哈哈 print func a func 把函式當成乙個變數,賦...