-
-
Notifications
You must be signed in to change notification settings - Fork 90
Expand file tree
/
Copy pathrefcounting.po
More file actions
122 lines (111 loc) · 6.09 KB
/
refcounting.po
File metadata and controls
122 lines (111 loc) · 6.09 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
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2021, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Freesand Leo <yuqinju@163.com>, 2020
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-01 16:06+0000\n"
"PO-Revision-Date: 2020-05-30 11:50+0000\n"
"Last-Translator: Freesand Leo <yuqinju@163.com>, 2020\n"
"Language-Team: Chinese (China) (https://www.transifex.com/python-doc/teams/5390/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../../c-api/refcounting.rst:8
msgid "Reference Counting"
msgstr "引用计数"
#: ../../c-api/refcounting.rst:10
msgid ""
"The macros in this section are used for managing reference counts of Python "
"objects."
msgstr "本节介绍的宏被用于管理 Python 对象的引用计数。"
#: ../../c-api/refcounting.rst:16
msgid ""
"Increment the reference count for object *o*. The object must not be "
"``NULL``; if you aren't sure that it isn't ``NULL``, use "
":c:func:`Py_XINCREF`."
msgstr ""
"增加对象 *o* 的引用计数。 对象必须不为 ``NULL``;如果你不确定它不为 ``NULL``,可使用 :c:func:`Py_XINCREF`。"
#: ../../c-api/refcounting.rst:22
msgid ""
"Increment the reference count for object *o*. The object may be ``NULL``, "
"in which case the macro has no effect."
msgstr "增加对象 *o* 的引用计数。 对象可以为 ``NULL``,在此情况下该宏不产生任何效果。"
#: ../../c-api/refcounting.rst:28
msgid ""
"Decrement the reference count for object *o*. The object must not be "
"``NULL``; if you aren't sure that it isn't ``NULL``, use "
":c:func:`Py_XDECREF`. If the reference count reaches zero, the object's "
"type's deallocation function (which must not be ``NULL``) is invoked."
msgstr ""
"减少对象 *o* 的引用计数。 对象必须不为 ``NULL``;如果你不确定它不为 ``NULL``,可使用 :c:func:`Py_XDECREF`。"
" 如果引用计数降为零,将发起调用对象所属类型的释放函数 (它必须不为 ``NULL``)。"
#: ../../c-api/refcounting.rst:35
msgid ""
"The deallocation function can cause arbitrary Python code to be invoked "
"(e.g. when a class instance with a :meth:`__del__` method is deallocated). "
"While exceptions in such code are not propagated, the executed code has free"
" access to all Python global variables. This means that any object that is "
"reachable from a global variable should be in a consistent state before "
":c:func:`Py_DECREF` is invoked. For example, code to delete an object from "
"a list should copy a reference to the deleted object in a temporary "
"variable, update the list data structure, and then call :c:func:`Py_DECREF` "
"for the temporary variable."
msgstr ""
"释放函数可导致任意 Python 代码被发起调用(例如当一个带有 :meth:`__del__` 方法的类实例被释放时就是如此)。 "
"虽然此类代码中的异常不会被传播,但被执行的代码能够自由访问所有 Python 全局变量。 这意味着任何可通过全局变量获取的对象在 "
":c:func:`Py_DECREF` 被发起调用之前都应当处于完好状态。 "
"例如,从一个列表中删除对象的代码应当将被删除对象的引用拷贝到一个临时变量中,更新列表数据结构,然后再为临时变量调用 "
":c:func:`Py_DECREF`。"
#: ../../c-api/refcounting.rst:47
msgid ""
"Decrement the reference count for object *o*. The object may be ``NULL``, "
"in which case the macro has no effect; otherwise the effect is the same as "
"for :c:func:`Py_DECREF`, and the same warning applies."
msgstr ""
"减少对象 *o* 的引用计数。 对象可以为 ``NULL``,在此情况下该宏不产生任何效果;在其他情况下其效果与 :c:func:`Py_DECREF`"
" 相同,并会应用同样的警告。"
#: ../../c-api/refcounting.rst:54
msgid ""
"Decrement the reference count for object *o*. The object may be ``NULL``, "
"in which case the macro has no effect; otherwise the effect is the same as "
"for :c:func:`Py_DECREF`, except that the argument is also set to ``NULL``. "
"The warning for :c:func:`Py_DECREF` does not apply with respect to the "
"object passed because the macro carefully uses a temporary variable and sets"
" the argument to ``NULL`` before decrementing its reference count."
msgstr ""
"减少对象 *o* 的引用计数。 对象可以为 ``NULL``,在此情况下该宏不产生任何效果;在其他情况下其效果与 :c:func:`Py_DECREF`"
" 相同,区别在于其参数也会被设为 ``NULL``。 针对 :c:func:`Py_DECREF` "
"的警告不适用于所传递的对象,因为该宏会细心地使用一个临时变量并在减少其引用计数之前将参数设为 ``NULL``。"
#: ../../c-api/refcounting.rst:61
msgid ""
"It is a good idea to use this macro whenever decrementing the reference "
"count of an object that might be traversed during garbage collection."
msgstr "每当要减少在垃圾回收期间可能会被遍历的对象的引用计数时,使用该宏是一个好主意。"
#: ../../c-api/refcounting.rst:65
msgid ""
"The following functions are for runtime dynamic embedding of Python: "
"``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject *o)``. They are simply "
"exported function versions of :c:func:`Py_XINCREF` and :c:func:`Py_XDECREF`,"
" respectively."
msgstr ""
"以下函数适用于 Python 的运行时动态嵌入: ``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject "
"*o)``。 它们分别只是 :c:func:`Py_XINCREF` 和 :c:func:`Py_XDECREF` 的简单导出函数版本。"
#: ../../c-api/refcounting.rst:70
msgid ""
"The following functions or macros are only for use within the interpreter "
"core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, "
":c:func:`_Py_NewReference`, as well as the global variable "
":c:data:`_Py_RefTotal`."
msgstr ""
"以下函数或宏仅可在解释器核心内部使用: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, "
":c:func:`_Py_NewReference` 以及全局变量 :c:data:`_Py_RefTotal`。"