中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

钟山县| 玛曲县| 随州市| 元氏县| 固阳县| 沈阳市| 锡林浩特市| 内黄县| 迁安市| 沁阳市| 四子王旗| 普安县| 金湖县| 教育| 平和县| 天全县| 苗栗县| 竹北市| 阳城县| 宁海县| 嘉祥县| 惠州市| 贵州省| 通州区| 福泉市| 茂名市| 青岛市| 怀宁县| 静安区| 景宁| 佛坪县| 稻城县| 西峡县| 丰县| 堆龙德庆县| 手游| 青神县| 灯塔市| 湟中县| 马鞍山市| 陕西省|