-
-
Notifications
You must be signed in to change notification settings - Fork 224
Expand file tree
/
Copy pathallocation.po
More file actions
256 lines (216 loc) · 8.97 KB
/
allocation.po
File metadata and controls
256 lines (216 loc) · 8.97 KB
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
# Copyright (C) 2001 Python Software Foundation
# This file is distributed under the same license as the Python package.
#
# Translators:
# Liang-Bo Wang <me@liang2.tw>, 2016
# Matt Wang <mattwang44@gmail.com>, 2021
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.14\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-09 17:02+0000\n"
"PO-Revision-Date: 2022-10-16 15:35+0800\n"
"Last-Translator: Matt Wang <mattwang44@gmail.com>\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 initialized. Despite its name, this function is unrelated to the "
"object's :meth:`~object.__init__` method (:c:member:`~PyTypeObject.tp_init` "
"slot). Specifically, this function does **not** call the object's :meth:`!"
"__init__` method."
msgstr ""
#: ../../c-api/allocation.rst:24
msgid ""
"In general, consider this function to be a low-level routine. Use :c:member:"
"`~PyTypeObject.tp_alloc` where possible. For implementing :c:member:`!"
"tp_alloc` for your type, prefer :c:func:`PyType_GenericAlloc` or :c:func:"
"`PyObject_New`."
msgstr ""
#: ../../c-api/allocation.rst:31
msgid ""
"This function only initializes the object's memory corresponding to the "
"initial :c:type:`PyObject` structure. It does not zero the rest."
msgstr ""
#: ../../c-api/allocation.rst:37
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:42
msgid ""
"This function only initializes some of the object's memory. It does not "
"zero the rest."
msgstr ""
#: ../../c-api/allocation.rst:48
msgid ""
"Allocates a new Python object using the C structure type *TYPE* and the "
"Python type object *typeobj* (``PyTypeObject*``) by calling :c:func:"
"`PyObject_Malloc` to allocate memory and initializing it like :c:func:"
"`PyObject_Init`. The caller will own the only reference to the object (i.e. "
"its reference count will be one)."
msgstr ""
"使用 C 結構型別 *TYPE* 和 Python 型別物件 *typeobj* (``PyTypeObject*``) 分配"
"一個新的 Python 物件。它會呼叫 :c:func:`PyObject_Malloc` 來分配記憶體,並且會"
"像 :c:func:`PyObject_Init` 一樣初始化它。呼叫者會擁有該物件的唯一參照(也就是"
"它的參照計數會是 1)。"
#: ../../c-api/allocation.rst:54 ../../c-api/allocation.rst:107
msgid ""
"Avoid calling this directly to allocate memory for an object; call the "
"type's :c:member:`~PyTypeObject.tp_alloc` slot instead."
msgstr ""
#: ../../c-api/allocation.rst:57 ../../c-api/allocation.rst:110
msgid ""
"When populating a type's :c:member:`~PyTypeObject.tp_alloc` slot, :c:func:"
"`PyType_GenericAlloc` is preferred over a custom function that simply calls "
"this macro."
msgstr ""
#: ../../c-api/allocation.rst:61
msgid ""
"This macro does not call :c:member:`~PyTypeObject.tp_alloc`, :c:member:"
"`~PyTypeObject.tp_new` (:meth:`~object.__new__`), or :c:member:"
"`~PyTypeObject.tp_init` (:meth:`~object.__init__`)."
msgstr ""
"這個巨集不會呼叫 :c:member:`~PyTypeObject.tp_alloc`、:c:member:"
"`~PyTypeObject.tp_new` (:meth:`~object.__new__`)、或 :c:member:"
"`~PyTypeObject.tp_init` (:meth:`~object.__init__`)。"
#: ../../c-api/allocation.rst:65
msgid ""
"This cannot be used for objects with :c:macro:`Py_TPFLAGS_HAVE_GC` set in :c:"
"member:`~PyTypeObject.tp_flags`; use :c:macro:`PyObject_GC_New` instead."
msgstr ""
"這不能用於有在 :c:member:`~PyTypeObject.tp_flags` 中設定 :c:macro:"
"`Py_TPFLAGS_HAVE_GC` 的物件;請改用 :c:macro:`PyObject_GC_New`。"
#: ../../c-api/allocation.rst:68
msgid ""
"Memory allocated by this macro must be freed with :c:func:`PyObject_Free` "
"(usually called via the object's :c:member:`~PyTypeObject.tp_free` slot)."
msgstr ""
#: ../../c-api/allocation.rst:73 ../../c-api/allocation.rst:123
msgid ""
"The returned memory is not guaranteed to have been completely zeroed before "
"it was initialized."
msgstr ""
#: ../../c-api/allocation.rst:78 ../../c-api/allocation.rst:128
msgid ""
"This macro does not construct a fully initialized object of the given type; "
"it merely allocates memory and prepares it for further initialization by :c:"
"member:`~PyTypeObject.tp_init`. To construct a fully initialized object, "
"call *typeobj* instead. For example::"
msgstr ""
#: ../../c-api/allocation.rst:83
msgid "PyObject *foo = PyObject_CallNoArgs((PyObject *)&PyFoo_Type);"
msgstr "PyObject *foo = PyObject_CallNoArgs((PyObject *)&PyFoo_Type);"
#: ../../c-api/allocation.rst:87 ../../c-api/allocation.rst:137
#: ../../c-api/allocation.rst:182 ../../c-api/allocation.rst:184
#: ../../c-api/allocation.rst:186
msgid ":c:func:`PyObject_Free`"
msgstr ":c:func:`PyObject_Free`"
#: ../../c-api/allocation.rst:88
msgid ":c:macro:`PyObject_GC_New`"
msgstr ":c:macro:`PyObject_GC_New`"
#: ../../c-api/allocation.rst:89 ../../c-api/allocation.rst:139
msgid ":c:func:`PyType_GenericAlloc`"
msgstr ":c:func:`PyType_GenericAlloc`"
#: ../../c-api/allocation.rst:90 ../../c-api/allocation.rst:140
msgid ":c:member:`~PyTypeObject.tp_alloc`"
msgstr ":c:member:`~PyTypeObject.tp_alloc`"
#: ../../c-api/allocation.rst:95
msgid "Like :c:macro:`PyObject_New` except:"
msgstr "和 :c:macro:`PyObject_New` 類似,但有以下差異:"
#: ../../c-api/allocation.rst:97
msgid ""
"It allocates enough memory for the *TYPE* structure plus *size* "
"(``Py_ssize_t``) fields of the size given by the :c:member:`~PyTypeObject."
"tp_itemsize` field of *typeobj*."
msgstr ""
#: ../../c-api/allocation.rst:100
msgid "The memory is initialized like :c:func:`PyObject_InitVar`."
msgstr "記憶體會像 :c:func:`PyObject_InitVar` 一樣被初始化。"
#: ../../c-api/allocation.rst:102
msgid ""
"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-api/allocation.rst:114
msgid ""
"This cannot be used for objects with :c:macro:`Py_TPFLAGS_HAVE_GC` set in :c:"
"member:`~PyTypeObject.tp_flags`; use :c:macro:`PyObject_GC_NewVar` instead."
msgstr ""
"這不能用於有在 :c:member:`~PyTypeObject.tp_flags` 中設定 :c:macro:"
"`Py_TPFLAGS_HAVE_GC` 的物件;請改用 :c:macro:`PyObject_GC_NewVar`。"
#: ../../c-api/allocation.rst:118
msgid ""
"Memory allocated by this function must be freed with :c:func:`PyObject_Free` "
"(usually called via the object's :c:member:`~PyTypeObject.tp_free` slot)."
msgstr ""
#: ../../c-api/allocation.rst:133
msgid ""
"PyObject *list_instance = PyObject_CallNoArgs((PyObject *)&PyList_Type);"
msgstr ""
"PyObject *list_instance = PyObject_CallNoArgs((PyObject *)&PyList_Type);"
#: ../../c-api/allocation.rst:138
msgid ":c:macro:`PyObject_GC_NewVar`"
msgstr ":c:macro:`PyObject_GC_NewVar`"
#: ../../c-api/allocation.rst:145
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:152
msgid ":ref:`moduleobjects`"
msgstr ":ref:`moduleobjects`"
#: ../../c-api/allocation.rst:153
msgid "To allocate and create extension modules."
msgstr "分配記憶體和建立擴充模組。"
#: ../../c-api/allocation.rst:157
msgid "Deprecated aliases"
msgstr "被棄用的別名"
#: ../../c-api/allocation.rst:159
msgid ""
"These are :term:`soft deprecated` aliases to existing functions and macros. "
"They exist solely for backwards compatibility."
msgstr ""
#: ../../c-api/allocation.rst:167
msgid "Deprecated alias"
msgstr "已棄用的別名"
#: ../../c-api/allocation.rst:168
msgid "Function"
msgstr "函式"
#: ../../c-api/allocation.rst:170
msgid ":c:macro:`PyObject_New`"
msgstr ":c:macro:`PyObject_New`"
#: ../../c-api/allocation.rst:172
msgid ":c:macro:`PyObject_NewVar`"
msgstr ":c:macro:`PyObject_NewVar`"
#: ../../c-api/allocation.rst:174
msgid ":c:func:`PyObject_Init`"
msgstr ":c:func:`PyObject_Init`"
#: ../../c-api/allocation.rst:176
msgid ":c:func:`PyObject_InitVar`"
msgstr ":c:func:`PyObject_InitVar`"
#: ../../c-api/allocation.rst:178
msgid ":c:func:`PyObject_Malloc`"
msgstr ":c:func:`PyObject_Malloc`"
#: ../../c-api/allocation.rst:180
msgid ":c:func:`PyObject_Realloc`"
msgstr ":c:func:`PyObject_Realloc`"