Skip to Content
Python 技術手冊 第三版
book

Python 技術手冊 第三版

by lex Martelli, Anna Martelli Ravenscroft, Steve Holden
January 2018
Intermediate to advanced content levelIntermediate to advanced
856 pages
17h 17m
Chinese
GoTop Information, Inc.
Content preview from Python 技術手冊 第三版
164
|
4 章 物件導向的 Python
__rdivmod__ __rdivmod_ _(self,other)
內建函式
divmod(y,x)
會在
y
沒有
__divmod_ _
,或該方法回傳
NotImplemented
的時候呼叫
x.__rdivmod_ _(y)
__rdivmod_ _
應該回傳一
個對組
(remainder,quotient)
__rpow__ __rpow_ _(self,other)
y**x
pow(y,x)
會在
y
沒有
__pow_ _
,或該方法回傳
NotImplemented
時候呼叫
x.__rpow_ _(y)
。這種情況中沒有三個引數的形式。
裝飾器
Python 中,你經常會使用所謂的
高階函式
higher-order functions
,也
就是接受一個函式作為引數,並回傳一個函式作為它們結果的 callables
舉例來說,涵蓋於前面的「類別層級方法」中的描述器型別
staticmethod
classmethod
,可在類別主體中被這樣使用:
def f(cls, ...):
... 省略 f 的定義 ...
f = classmethod(f)
然而,在
def
述句
之後
才出現對
classmethod
的呼叫會減低程式碼的可讀
性:閱讀
f
的定義時,程式碼的讀者尚未察覺
f
將會成為一個類別方法,
而非一個實體方法。如果提及
classmethod
的地方出現在
def
之前
,而非
之後
,程式碼會更易讀。為此,就使用稱作
裝飾器
decoration
的語法:
@classmethod ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

測試驅動開發|使用 Python

測試驅動開發|使用 Python

Harry J.W. Percival
Linux 内核观测技术BPF

Linux 内核观测技术BPF

David Calavera, Lorenzo Fontana

Publisher Resources

ISBN: 9789864766819