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

資訊專欄INFORMATION COLUMN

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

89542767 / 351人閱讀


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


  partial


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


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


    from functools import partial
  int2=partial(int,base=8)
  print(int2('123'))
  #83


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


  update_wrapper


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


    from functools import update_wrapper
  def wrap2(func):
  def inner(*args):
  return func(*args)
  return update_wrapper(inner,func)
  wrap2
  def demo():
  print('hello world')
  print(demo.__name__)
  #demo
  

  warps


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


  就是在update_wrapper上進行一個包裝


  forom functools import wraps
  def wrap1(func):
  wraps(func)#去掉就會返回inner
  def inner(*args):
  print(func.__name__)
  return func(*args)
  return inner
  wrap1
  def demo():
  print('hello world')
  print(demo.__name__)
  #demo

  reduce


  在Python2中等同于內建函數reduce


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


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


  cmp_to_key


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


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


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


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


  ru_cache


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


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


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


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


  singledispatch


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


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


  from functools import singledispatch
  singledispatch
  def fun(text):
  print('String:'+text)
  fun.register(int)
  def _(text):
  print(text)
  fun.register(list)
  def _(text):
  for k,v in enumerate(text):
  print(k,v)
  fun.register(float)
  fun.register(tuple)
  def _(text):
  print('float,tuple')
  fun('i am is hubo')
  fun(123)
  fun(['a','b','c'])
  fun(1.23)
  print(fun.registry)#所有的泛型函數
  print(fun.registry[int])#獲取int的泛型函數
  #String:i am is hubo
  #123
  #0 a
  #1 b
  #2 c
  #float,tuple
  #{<class'object'>:<function fun at 0x106d10f28>,<class'int'>:<function _ at 0x106f0b9d8>,<class'list'>:<function _ at 0x106f0ba60>,<class'tuple'>:<function _ at 0x106f0bb70>,<class'float'>:<function _ at 0x106f0bb70>}
  #<function _ at 0x106f0b9d8>

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


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

轉載請注明本文地址:http://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元查看
<