亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

丰原市| 长乐市| 蕲春县| 朝阳县| 永川市| 九龙坡区| 会昌县| 南通市| 山东| 绍兴市| 玛沁县| 龙江县| 咸阳市| 绥化市| 虞城县| 绥阳县| 循化| 广州市| 洛南县| 宝坻区| 惠安县| 双峰县| 桐梓县| 安宁市| 新兴县| 来宾市| 浦城县| 大名县| 镇巴县| 泰兴市| 扎鲁特旗| 巴林左旗| 伊宁县| 通山县| 都安| 新泰市| 滦平县| 筠连县| 南康市| 镇安县| 威宁|