-
-
Notifications
You must be signed in to change notification settings - Fork 214
/
Copy pathallocation.po
120 lines (109 loc) · 5.3 KB
/
allocation.po
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Copyright (C) 2001-2024, Python Software Foundation
# This file is distributed under the same license as the Python package.
#
# Translators:
# Liang-Bo Wang <[email protected]>, 2016
# Matt Wang <[email protected]>, 2021
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-18 00:14+0000\n"
"PO-Revision-Date: 2022-10-16 15:35+0800\n"
"Last-Translator: Matt Wang <[email protected]>\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. Other fields of the object are "
"not affected."
msgstr ""
"用它的型別和初始參照來初始化新分配物件 *op*。已初始化的物件會被回傳。物件的其"
"他欄位不受影響。"
#: ../../c-api/allocation.rst:24
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:30
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:38
msgid ""
"Note that this function is unsuitable if *typeobj* has :c:macro:"
"`Py_TPFLAGS_HAVE_GC` set. For such objects, use :c:func:`PyObject_GC_New` "
"instead."
msgstr ""
#: ../../c-api/allocation.rst:45
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:56
msgid ""
"Note that this function is unsuitable if *typeobj* has :c:macro:"
"`Py_TPFLAGS_HAVE_GC` set. For such objects, use :c:func:`PyObject_GC_NewVar` "
"instead."
msgstr ""
#: ../../c-api/allocation.rst:63
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:72
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:79
msgid ":c:func:`PyModule_Create`"
msgstr ":c:func:`PyModule_Create`"
#: ../../c-api/allocation.rst:80
msgid "To allocate and create extension modules."
msgstr "分配記憶體和建立擴充模組。"