Update p14_capture_class_attribute_definition_order.rst

format
This commit is contained in:
Liu Jie
2019-01-05 15:16:00 +08:00
committed by GitHub
parent d47a1feb90
commit 49c20f00c9

View File

@@ -53,7 +53,7 @@
def __prepare__(cls, clsname, bases): def __prepare__(cls, clsname, bases):
return OrderedDict() return OrderedDict()
在这个元类中,执行类主体时描述器的定义顺序会被一个 ``OrderedDict``捕获到, 在这个元类中,执行类主体时描述器的定义顺序会被一个 ``OrderedDict`` 捕获到,
生成的有序名称从字典中提取出来并放入类属性 ``_order`` 中。这样的话类中的方法可以通过多种方式来使用它。 生成的有序名称从字典中提取出来并放入类属性 ``_order`` 中。这样的话类中的方法可以通过多种方式来使用它。
例如下面是一个简单的类使用这个排序字典来实现将一个类实例的数据序列化为一行CSV数据 例如下面是一个简单的类使用这个排序字典来实现将一个类实例的数据序列化为一行CSV数据
@@ -93,7 +93,7 @@
---------- ----------
讨论 讨论
---------- ----------
本节一个关键点就是OrderedMeta元类中定义的 `` __prepare__()`` 方法。 本节一个关键点就是OrderedMeta元类中定义的 ``__prepare__()`` 方法。
这个方法会在开始定义类和它的父类的时候被执行。它必须返回一个映射对象以便在类定义体中被使用到。 这个方法会在开始定义类和它的父类的时候被执行。它必须返回一个映射对象以便在类定义体中被使用到。
我们这里通过返回了一个OrderedDict而不是一个普通的字典可以很容易的捕获定义的顺序。 我们这里通过返回了一个OrderedDict而不是一个普通的字典可以很容易的捕获定义的顺序。