閉包,裝飾器,匿名函式,遞迴函式簡單運用

2021-08-21 08:33:59 字數 769 閱讀 3534

#內部函式可以使用外部函式變數的行為,就叫閉包。

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 把函式當成乙個變數,賦...