當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python functools.partialmethod用法及代碼示例


用法:

class functools.partialmethod(func, /, *args, **keywords)

返回一個新的 partialmethod 說明符,它的行為類似於 partial,隻是它被設計為用作方法定義而不是直接可調用。

func 必須是說明符或可調用對象(兩者都像普通函數一樣,作為說明符處理)。

func 是一個說明符(例如普通的 Python 函數、classmethod()staticmethod()abstractmethod()partialmethod 的另一個實例)時,對 __get__ 的調用被委托給底層說明符,並且適當的作為結果返回的部分對象。

func 是非說明符可調用時,會動態創建適當的綁定方法。當用作方法時,它的行為類似於普通的 Python 函數:self 參數將作為第一個位置參數插入,甚至在提供給 partialmethod 構造函數的 argskeywords 之前。

例子:

>>> class Cell:
...     def __init__(self):
...         self._alive = False
...     @property
...     def alive(self):
...         return self._alive
...     def set_state(self, state):
...         self._alive = bool(state)
...     set_alive = partialmethod(set_state, True)
...     set_dead = partialmethod(set_state, False)
...
>>> c = Cell()
>>> c.alive
False
>>> c.set_alive()
>>> c.alive
True

3.4 版中的新函數。

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 functools.partialmethod。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。