File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- {"translation" : " 89.76%" , "updated_at" : " 2024-01-11T16:09:32Z " }
1+ {"translation" : " 89.76%" , "updated_at" : " 2024-01-12T02:19:56Z " }
Original file line number Diff line number Diff line change @@ -2817,6 +2817,12 @@ msgid ""
28172817":c:member:`~PyTypeObject.tp_new` returns an instance of a subtype of the "
28182818"original type, the subtype's :c:member:`~PyTypeObject.tp_init` is called."
28192819msgstr ""
2820+ ":c:member:`~PyTypeObject.tp_init` 函数如果不为 ``NULL``,将在通过调用类型正常创建其实例时被调用,即在类型的 "
2821+ ":c:member:`~PyTypeObject.tp_new` 函数返回一个该类型的实例时。 如果 "
2822+ ":c:member:`~PyTypeObject.tp_new` 函数返回了一个不是原始类型的子类型的其他类型的实例,则 "
2823+ ":c:member:`~PyTypeObject.tp_init` 函数不会被调用;如果 "
2824+ ":c:member:`~PyTypeObject.tp_new` 返回了一个原始类型的子类型的实例,则该子类型的 "
2825+ ":c:member:`~PyTypeObject.tp_init` 将被调用。"
28202826
28212827#: ../../c-api/typeobj.rst:1687
28222828msgid "Returns ``0`` on success, ``-1`` and sets an exception on error."
@@ -2874,6 +2880,11 @@ msgid ""
28742880":c:member:`~PyTypeObject.tp_new`, while for mutable types, most "
28752881"initialization should be deferred to :c:member:`~PyTypeObject.tp_init`."
28762882msgstr ""
2883+ ":c:member:`~PyTypeObject.tp_new` 函数应当调用 ``subtype->tp_alloc(subtype, "
2884+ "nitems)`` 来为对象分配空间,然后只执行绝对有必要的进一步初始化操作。 可以安全地忽略或重复的初始化操作应当放在 "
2885+ ":c:member:`~PyTypeObject.tp_init` 处理句柄中。 一个关键的规则是对于不可变类型来说,所有初始化操作都应当在 "
2886+ ":c:member:`~PyTypeObject.tp_new` 中发生,而对于可变类型,大部分初始化操作都应当推迟到 "
2887+ ":c:member:`~PyTypeObject.tp_init` 再执行。"
28772888
28782889#: ../../c-api/typeobj.rst:1746
28792890msgid ""
You can’t perform that action at this time.
0 commit comments