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 技術手冊 第三版
元類別(Metaclasses
|
171
__init__ _ _repr_ _)。 MetaBunch
類別範疇移除那些資料屬性,改將它們安置在
一個名為 _ _dflts_ _ 的類別範疇字典中,並在
該類別放置帶有那些屬性之名稱的一個 _ _slots_ _
一個接受它們每一個作為選擇性具名引數的 _ _init_ _
(缺少的就以 _ _dflts_ _ 中的值作為預設值),
以及一個 _ _repr_ _ 負責顯示與其預設值不同的
每個屬性的 repr 值(_ _repr__ 的輸出可被傳入給
__eval__ 來製作一個相等的實體,就跟平常的慣例一樣,
如果每個非預設值的屬性也遵守這個慣例的話)。
v3 中,資料屬性的順序會跟類別主體中一樣,
但在 v2 中沒有這種保證。
"""
def __prepare__(name, *bases, **kwargs):
# v3 中很珍貴,在 v2 中無害但也沒有用處
return collections.OrderedDict()
def __new__(mcl, classname, bases, classdict):
""" 所有的事情都需要在 _ _new_ _ 中進行,因為
type.__new__ _ _slots_ _ 被納入考量的地方。
"""
# 將我們會在新類別中使用的 _ _init_ _ _ _repr__
# 定義為區域函式
def __init__(self, **kw): ...
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