# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2022, Python Software Foundation # This file is distributed under the same license as the Python package. # # Translators: # Liang-Bo Wang , 2016 # Matt Wang , 2021 # msgid "" msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-08-09 00:03+0000\n" "PO-Revision-Date: 2022-10-16 15:35+0800\n" "Last-Translator: Matt Wang \n" "Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-" "tw)\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 3.1.1\n" #: ../../c-api/allocation.rst:6 msgid "Allocating Objects on the Heap" msgstr "在 heap 上分配物件" #: ../../c-api/allocation.rst:17 msgid "" "Initialize a newly allocated object *op* with its type and initial " "reference. Returns the initialized object. If *type* indicates that the " "object participates in the cyclic garbage detector, it is added to the " "detector's set of observed objects. Other fields of the object are not " "affected." msgstr "" "用它的型別和初始參照來初始化新分配物件 *op*。已初始化的物件會被回傳。如果 " "*type* 表示了該物件參與迴圈垃圾檢查器,則將其新增到檢查器的觀察物件集合中。物" "件的其他欄位不受影響。" #: ../../c-api/allocation.rst:26 msgid "" "This does everything :c:func:`PyObject_Init` does, and also initializes the " "length information for a variable-size object." msgstr "" "它會做到 :c:func:`PyObject_Init` 的所有功能,並且會初始化一個大小可變物件的長" "度資訊。" #: ../../c-api/allocation.rst:32 msgid "" "Allocate a new Python object using the C structure type *TYPE* and the " "Python type object *typeobj* (``PyTypeObject*``). Fields not defined by the " "Python object header are not initialized. The caller will own the only " "reference to the object (i.e. its reference count will be one). The size of " "the memory allocation is determined from the :c:member:`~PyTypeObject." "tp_basicsize` field of the type object." msgstr "" "使用 C 結構型別 *TYPE* 和 Python 型別物件 *typeobj* (``PyTypeObject*``) 分配" "一個新的 Python 物件。未在該 Python 物件標頭 (header) 中定義的欄位不會被初始" "化;呼叫者會擁有那個對於物件的唯一參照(物件的參照計數為一)。記憶體分配大小" "由 type 物件的 :c:member:`~PyTypeObject.tp_basicsize` 欄位來指定。" #: ../../c-api/allocation.rst:43 msgid "" "Allocate a new Python object using the C structure type *TYPE* and the " "Python type object *typeobj* (``PyTypeObject*``). Fields not defined by the " "Python object header are not initialized. The allocated memory allows for " "the *TYPE* structure plus *size* (``Py_ssize_t``) fields of the size given " "by the :c:member:`~PyTypeObject.tp_itemsize` field of *typeobj*. This is " "useful for implementing objects like tuples, which are able to determine " "their size at construction time. Embedding the array of fields into the " "same allocation decreases the number of allocations, improving the memory " "management efficiency." msgstr "" "使用 C 的結構型別 *TYPE* 和 Python 的型別物件 *typeobj* (``PyTypeObject*``) " "分配一個新的 Python 物件。未在該 Python 物件標頭中定義的欄位不會被初始化。記" "憶體空間預留了 *TYPE* 結構大小再加上 *typeobj* 物件中 :c:member:" "`~PyTypeObject.tp_itemsize` 欄位提供的 *size* (``Py_ssize_t``) 欄位的值。這對" "於實現如 tuple 這種能夠在建立期間決定自己大小的物件是很實用的。將欄位的陣列嵌" "入到相同的記憶體分配中可以減少記憶體分配的次數,這提高了記憶體管理的效率。" #: ../../c-api/allocation.rst:57 msgid "" "Releases memory allocated to an object using :c:macro:`PyObject_New` or :c:" "macro:`PyObject_NewVar`. This is normally called from the :c:member:" "`~PyTypeObject.tp_dealloc` handler specified in the object's type. The " "fields of the object should not be accessed after this call as the memory is " "no longer a valid Python object." msgstr "" "釋放由 :c:macro:`PyObject_New` 或者 :c:macro:`PyObject_NewVar` 分配給物件的記" "憶體。這通常是在物件型別所指定的 :c:member:`~PyTypeObject.tp_dealloc` " "handler 中呼叫。呼叫這個函式以後,物件的各欄位都不可以被存取,因為原本分配的" "記憶體已不再是一個有效的 Python 物件。" #: ../../c-api/allocation.rst:66 msgid "" "Object which is visible in Python as ``None``. This should only be accessed " "using the :c:macro:`Py_None` macro, which evaluates to a pointer to this " "object." msgstr "" "這個物件像是 Python 中的 ``None``。它只應該透過 :c:macro:`Py_None` 巨集來存" "取,該巨集的拿到指向該物件的指標。" #: ../../c-api/allocation.rst:73 msgid ":c:func:`PyModule_Create`" msgstr ":c:func:`PyModule_Create`" #: ../../c-api/allocation.rst:74 msgid "To allocate and create extension modules." msgstr "分配記憶體和建立擴充模組。"