国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python中functools模塊使用及相關說明

89542767 / 357人閱讀


  這篇文章主要給大家講解的是,在python這門語言中,functools這門軟件使用方法,相關的代碼已經給大家貼出來了,希望可以為大家能夠帶來一點幫助。


  partial


  用于創建一個偏函數,將默認參數包裝一個可調用對象,返回結果也是可調用對象。


  偏函數可以固定住原函數的部分參數,從而在調用時更簡單。


</>復制代碼

  1.     from functools import partial
  2.   int2=partial(int,base=8)
  3.   print(int2('123'))
  4.   #83


  使用partial包裝的函數是沒有__name__和__doc__屬性的。


  update_wrapper


      作用:將被包裝函數的__name__等屬性,拷貝到新的函數中去。


</>復制代碼

  1.     from functools import update_wrapper
  2.   def wrap2(func):
  3.   def inner(*args):
  4.   return func(*args)
  5.   return update_wrapper(inner,func)
  6.   wrap2
  7.   def demo():
  8.   print('hello world')
  9.   print(demo.__name__)
  10.   #demo
  11.   

  warps


      函數是為了在裝飾器拷貝被裝飾函數的__name__。


  就是在update_wrapper上進行一個包裝


</>復制代碼

  1.   forom functools import wraps
  2.   def wrap1(func):
  3.   wraps(func)#去掉就會返回inner
  4.   def inner(*args):
  5.   print(func.__name__)
  6.   return func(*args)
  7.   return inner
  8.   wrap1
  9.   def demo():
  10.   print('hello world')
  11.   print(demo.__name__)
  12.   #demo

  reduce


  在Python2中等同于內建函數reduce


  函數的作用是將一個序列歸納為一個輸出


</>復制代碼

  1.   reduce(function,sequence,startValue)
  2.   from functools import reduce
  3.   l=range(1,50)
  4.   print(reduce(lambda x,y:x+y,l))
  5.   #1225


  cmp_to_key


  在list.sort和內建函數sorted中都有一個key參數


</>復制代碼

  1.   x=['hello','worl','ni']
  2.   x.sort(key=len)
  3.   print(x)
  4.   #['ni','worl','hello']


  Python3之前還提供了cmp參數來比較兩個元素


  cmp_to_key函數就是用來將老式的比較函數轉化為key函數


  ru_cache


  允許我們將一個函數的返回值快速地緩存或取消緩存。


  該裝飾器用于緩存函數的調用結果,對于需要多次調用的函數,而且每次調用參數都相同,則可以用該裝飾器緩存調用結果,從而加快程序運行。


  該裝飾器會將不同的調用結果緩存在內存中,因此需要注意內存占用問題。


</>復制代碼

  1.   from functools import lru_cache
  2.   lru_cache(maxsize=30)#maxsize參數告訴lru_cache緩存最近多少個返回值
  3.   def fib(n):
  4.   if n&lt;2:
  5.   return n
  6.   return fib(n-1)+fib(n-2)
  7.   print([fib(n)for n in range(10)])
  8.   fib.cache_clear()#清空緩存


  singledispatch


  單分發器,Python3.4新增,用于實現泛型函數。


  根據單一參數的類型來判斷調用哪個函數。


</>復制代碼

  1.   from functools import singledispatch
  2.   singledispatch
  3.   def fun(text):
  4.   print('String:'+text)
  5.   fun.register(int)
  6.   def _(text):
  7.   print(text)
  8.   fun.register(list)
  9.   def _(text):
  10.   for k,v in enumerate(text):
  11.   print(k,v)
  12.   fun.register(float)
  13.   fun.register(tuple)
  14.   def _(text):
  15.   print('float,tuple')
  16.   fun('i am is hubo')
  17.   fun(123)
  18.   fun(['a','b','c'])
  19.   fun(1.23)
  20.   print(fun.registry)#所有的泛型函數
  21.   print(fun.registry[int])#獲取int的泛型函數
  22.   #String:i am is hubo
  23.   #123
  24.   #0 a
  25.   #1 b
  26.   #2 c
  27.   #float,tuple
  28.   #{&lt;class'object'&gt;:&lt;function fun at 0x106d10f28&gt;,&lt;class'int'&gt;:&lt;function _ at 0x106f0b9d8&gt;,&lt;class'list'&gt;:&lt;function _ at 0x106f0ba60&gt;,&lt;class'tuple'&gt;:&lt;function _ at 0x106f0bb70&gt;,&lt;class'float'&gt;:&lt;function _ at 0x106f0bb70&gt;}
  29.   #&lt;function _ at 0x106f0b9d8&gt;

  以上就是小編整理的相關內容,希望可以給大家帶來幫助。


文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/127620.html

相關文章

  • Python學習之路24-一等函數

    摘要:函數內省的內容到此結束。函數式編程并不是一個函數式編程語言,但通過和等包的支持,也可以寫出函數式風格的代碼。 《流暢的Python》筆記。本篇主要講述Python中函數的進階內容。包括函數和對象的關系,函數內省,Python中的函數式編程。 1. 前言 本片首先介紹函數和對象的關系;隨后介紹函數和可調用對象的關系,以及函數內省。函數內省這部分會涉及很多與IDE和框架相關的東西,如果平時...

    wind3110991 評論0 收藏0
  • Python的函數裝飾器和閉包

    摘要:變量查找規則在中一個變量的查找順序是局部環境,閉包,全局,內建閉包引用了自由變量的函數。閉包的作用閉包的最大特點是可以將父函數的變量與內部函數綁定,并返回綁定變量后的函數,此時即便生成閉包的環境父函數已經釋放,閉包仍然存在。 導語:本文章記錄了本人在學習Python基礎之函數篇的重點知識及個人心得,打算入門Python的朋友們可以來一起學習并交流。 本文重點: 1、掌握裝飾器的本質、功...

    caozhijian 評論0 收藏0
  • Django Web開發技術棧清單-Python基礎篇

    摘要:使用單引號雙引號和三引號或來表示字符串。不可變的集合函數會以字典類型返回當前位置的全部全局變量。用于將進制整數轉換成進制,以字符串形式表示。返回字符串中最大的字母,或數組中的最大值。的作用就是減少了單行函數的定義。 問題答案由本人整理 1.基礎語法是否熟悉?介紹一下 Python和其他語言最大的區別就是使用行和縮進,而不是大括號({})或者分號(;)來控制類、函數或者邏輯判斷。Pyt...

    leeon 評論0 收藏0
  • Python_異常和模塊

    摘要:例如等價于到結束,但不包括。例如返回沒有每次跳躍的間距,默認為。 異常處理 單個異常處理: try: print(num) except NameError: print(沒有定義變量) except FileNotFoundError: print(找不到文件路徑) print(1) 多個異常處理: try: print(num) # 1...

    piglei 評論0 收藏0
  • 流暢的python讀書筆記-第七章-函數裝飾器和閉包

    摘要:函數裝飾器和閉包嚴格來說,裝飾器只是語法糖。何時執行裝飾器它們在被裝飾的函數定義之后立即運行。裝飾器突出了被裝飾的函數的作用,還便于臨時禁用某個促銷策略只需把裝飾器注釋掉。 函數裝飾器和閉包 嚴格來說,裝飾器只是語法糖。如前所示,裝飾器可以像常規的可調用對象那樣調用,其參數是另一個函數。有時,這樣做更方便,尤其是做元編程(在運行時改變程序的行為)時。 Python何時執行裝飾器 它們在...

    Hydrogen 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<