91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中的裝飾器詳細介紹

發布時間:2020-05-22 16:25:55 來源:億速云 閱讀:243 作者:鴿子 欄目:編程語言

  Python 裝飾器

  一、裝飾器定義

  二、裝飾器知識儲備

  三、高階函數

  1.高階函數定義:

  2.高階函數的示范

  3.高階函數的總結

  四、函數嵌套

  五、閉包

  Python 裝飾器

  一、裝飾器定義

  裝飾器本質就是函數,功能是為其他函數添加附加功能

  原則:

  1)不修改被修飾函數的源代碼

  2)不修改被修飾函數的調用方式

  二、裝飾器知識儲備

  裝飾器 = 高階函數 + 函數嵌套 + 閉包

  三、高階函數

  1.高階函數定義:

  函數接受的參數是一個函數名

  函數的返回值是一個函數名

  滿足上述條件任意一個都可以稱之為高階函數

  2.高階函數的示范

  把函數當做參數傳給高階函數

  import time

  def foo():

  time.sleep(1)

  print('你好劉力菲')

  def test(func):

  print(func)

  start_time = time.time()

  func()

  stop_time = time.time()

  print('函數運行時間是 %s' % (stop_time - start_time))

  foo()鄭州人流多少錢 http://www.hnmt120.com/

  test(foo)

  可以看到foo函數又在test函數中執行了一遍

  3.高階函數的總結

  函數接受的參數是一個函數名

   作用:在不修改函數源代碼的前提下,為函數添加新功能

   不足:會改變函數的調用方式

  函數的返回值是一個函數名

   作用:不修改函數的調用方式

   不足:不能添加新功能

  四、函數嵌套

  函數嵌套就是在函數里面在定義函數

  def func():

  pass

  def func1():

  pass

  def func2():

  pass

  pass

  五、閉包

  在一個外函數中定義了一個內函數,內函數里運用了外函數的臨時變量,并且外函數的返回值是內函數的引用。這樣就構成了一個閉包

  例子

  def func(a):

  aa=11

  def func1():

  c=a+aa

  print(c)

  return func1

  使用閉包的過程中,一旦外函數被調用一次返回了內函數的引用,雖然每次調用內函數,是開啟一個函數執行過后消亡,但是閉包變量實際上只有一份,每次開啟內函數都在使用同一份閉包變量

  def outer(x):

  def inner(y):

  nonlocal x

  x+=y

  return x

  return inner

  a=outer(100)

  print(a(50))

  print(a(100))


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新巴尔虎左旗| 南部县| 收藏| 汤阴县| 兴海县| 琼中| 祁阳县| 襄汾县| 玛纳斯县| 茶陵县| 西丰县| 襄垣县| 垦利县| 哈巴河县| 乐昌市| 沙雅县| 蓬莱市| 兰州市| 洱源县| 景宁| 万荣县| 长乐市| 岳池县| 蒙山县| 潜江市| 新田县| 当涂县| 天长市| 苏州市| 河津市| 基隆市| 临高县| 景德镇市| 会昌县| 海南省| 金坛市| 金昌市| 长武县| 新巴尔虎左旗| 舞钢市| 吉隆县|