-
-
Notifications
You must be signed in to change notification settings - Fork 89
Expand file tree
/
Copy pathobject.po
More file actions
583 lines (516 loc) · 27.5 KB
/
object.po
File metadata and controls
583 lines (516 loc) · 27.5 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
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2025, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# python-doc bot, 2025
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.11\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-03 15:28+0000\n"
"PO-Revision-Date: 2025-09-22 16:49+0000\n"
"Last-Translator: python-doc bot, 2025\n"
"Language-Team: Chinese (China) (https://app.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/object.rst:6
msgid "Object Protocol"
msgstr "对象协议"
#: ../../c-api/object.rst:11
msgid ""
"The ``NotImplemented`` singleton, used to signal that an operation is not "
"implemented for the given type combination."
msgstr "``NotImplemented`` 单例,用于标记某个操作没有针对给定类型组合的实现。"
#: ../../c-api/object.rst:17
msgid ""
"Properly handle returning :c:data:`Py_NotImplemented` from within a C "
"function (that is, create a new :term:`strong reference` to NotImplemented "
"and return it)."
msgstr ""
"正确处理从 C 语言函数中返回 :c:data:`Py_NotImplemented` 的问题(即新建一个指向 NotImplemented 的 "
":term:`strong reference` 并返回它)。"
#: ../../c-api/object.rst:24
msgid ""
"Flag to be used with multiple functions that print the object (like "
":c:func:`PyObject_Print` and :c:func:`PyFile_WriteObject`). If passed, these"
" function would use the :func:`str` of the object instead of the "
":func:`repr`."
msgstr ""
"要与多个打印对象的函数 (如 :c:func:`PyObject_Print` 和 :c:func:`PyFile_WriteObject`) "
"一起使用的旗标。 如果传入,这些函数应当使用对象的 :func:`str` 而不是 :func:`repr`。"
#: ../../c-api/object.rst:32
msgid ""
"Print an object *o*, on file *fp*. Returns ``-1`` on error. The flags "
"argument is used to enable certain printing options. The only option "
"currently supported is :c:macro:`Py_PRINT_RAW`; if given, the :func:`str` of"
" the object is written instead of the :func:`repr`."
msgstr ""
"打印对象 *o* 到文件 *fp*。 出错时返回 ``-1``。 flags 参数被用于启用特定的打印选项。 目前唯一支持的选项是 "
":c:macro:`Py_PRINT_RAW`;如果给出该选项,则将写入对象的 :func:`str` 而不是 :func:`repr`。"
#: ../../c-api/object.rst:40
msgid ""
"Returns ``1`` if *o* has the attribute *attr_name*, and ``0`` otherwise. "
"This is equivalent to the Python expression ``hasattr(o, attr_name)``. This"
" function always succeeds."
msgstr ""
"如果 *o* 带有属性 *attr_name*,则返回 ``1``,否则返回 ``0``。这相当于 Python 表达式 ``hasattr(o, "
"attr_name)``。 此函数总是成功。"
#: ../../c-api/object.rst:46
msgid ""
"Exceptions that occur when this calls :meth:`~object.__getattr__` and "
":meth:`~object.__getattribute__` methods are silently ignored. For proper "
"error handling, use :c:func:`PyObject_GetAttr` instead."
msgstr ""
"在调用 :meth:`~object.__getattr__` 和 :meth:`~object.__getattribute__` "
"方法时发生的异常将被静默地忽略。 想要进行适当的错误处理,请改用 :c:func:`PyObject_GetAttr`。"
#: ../../c-api/object.rst:53
msgid ""
"This is the same as :c:func:`PyObject_HasAttr`, but *attr_name* is specified"
" as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than a "
":c:expr:`PyObject*`."
msgstr ""
"这与 :c:func:`PyObject_HasAttr` 相同,但 *attr_name* 被指定为 :c:expr:`const char*` "
"UTF-8 编码的字节串,而不是 :c:expr:`PyObject*`。"
#: ../../c-api/object.rst:59
msgid ""
"Exceptions that occur when this calls :meth:`~object.__getattr__` and "
":meth:`~object.__getattribute__` methods or while creating the temporary "
":class:`str` object are silently ignored. For proper error handling, use "
":c:func:`PyObject_GetAttrString` instead."
msgstr ""
"在调用 :meth:`~object.__getattr__` 和 :meth:`~object.__getattribute__` "
"方法时或者在创建临时 :class:`str` 对象期间发生的异常将被静默地忽略。 想要进行适当的处理处理,请改用 "
":c:func:`PyObject_GetAttrString`。"
#: ../../c-api/object.rst:67
msgid ""
"Retrieve an attribute named *attr_name* from object *o*. Returns the "
"attribute value on success, or ``NULL`` on failure. This is the equivalent "
"of the Python expression ``o.attr_name``."
msgstr ""
"从对象 *o* 中读取名为 *attr_name* 的属性。成功返回属性值,失败则返回 ``NULL``。 这相当于 Python 表达式 "
"``o.attr_name``。"
#: ../../c-api/object.rst:74
msgid ""
"This is the same as :c:func:`PyObject_GetAttr`, but *attr_name* is specified"
" as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than a "
":c:expr:`PyObject*`."
msgstr ""
"这与 :c:func:`PyObject_GetAttr` 相同,但 *attr_name* 被指定为 :c:expr:`const char*` "
"UTF-8 编码的字节串,而不是 :c:expr:`PyObject*`。"
#: ../../c-api/object.rst:81
msgid ""
"Generic attribute getter function that is meant to be put into a type "
"object's ``tp_getattro`` slot. It looks for a descriptor in the dictionary "
"of classes in the object's MRO as well as an attribute in the object's "
":attr:`~object.__dict__` (if present). As outlined in :ref:`descriptors`, "
"data descriptors take preference over instance attributes, while non-data "
"descriptors don't. Otherwise, an :exc:`AttributeError` is raised."
msgstr ""
"通用的属性获取函数,用于放入类型对象的 ``tp_getattro`` 槽中。它在类的字典中(位于对象的 MRO 中)查找某个描述符,并在对象的 "
":attr:`~object.__dict__` 中查找某个属性。正如 :ref:`descriptors` "
"所述,数据描述符优先于实例属性,而非数据描述符则不优先。失败则会触发 :exc:`AttributeError` 。"
#: ../../c-api/object.rst:91
msgid ""
"Set the value of the attribute named *attr_name*, for object *o*, to the "
"value *v*. Raise an exception and return ``-1`` on failure; return ``0`` on "
"success. This is the equivalent of the Python statement ``o.attr_name = "
"v``."
msgstr ""
"将对象 *o* 中名为 *attr_name* 的属性值设为 *v* 。失败时引发异常并返回 ``-1``;成功时返 回 ``0`` 。这相当于 "
"Python 语句 ``o.attr_name = v``。"
#: ../../c-api/object.rst:96
msgid ""
"If *v* is ``NULL``, the attribute is deleted. This behaviour is deprecated "
"in favour of using :c:func:`PyObject_DelAttr`, but there are currently no "
"plans to remove it."
msgstr ""
"如果 *v* 为 ``NULL``,该属性将被删除。 此行为已被弃用而应改用 "
":c:func:`PyObject_DelAttr`,但目前还没有移除它的计划。"
#: ../../c-api/object.rst:103
msgid ""
"This is the same as :c:func:`PyObject_SetAttr`, but *attr_name* is specified"
" as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than a "
":c:expr:`PyObject*`."
msgstr ""
"这与 :c:func:`PyObject_SetAttr` 相同,但 *attr_name* 被指定为 :c:expr:`const char*` "
"UTF-8 编码的字节串,而不是 :c:expr:`PyObject*`。"
#: ../../c-api/object.rst:107
msgid ""
"If *v* is ``NULL``, the attribute is deleted, but this feature is deprecated"
" in favour of using :c:func:`PyObject_DelAttrString`."
msgstr ""
"如果 *v* 为 ``NULL``,该属性将被删除,但是此功能已被弃用而应改用 :c:func:`PyObject_DelAttrString`。"
#: ../../c-api/object.rst:113
msgid ""
"Generic attribute setter and deleter function that is meant to be put into a"
" type object's :c:member:`~PyTypeObject.tp_setattro` slot. It looks for a "
"data descriptor in the dictionary of classes in the object's MRO, and if "
"found it takes preference over setting or deleting the attribute in the "
"instance dictionary. Otherwise, the attribute is set or deleted in the "
"object's :attr:`~object.__dict__` (if present). On success, ``0`` is "
"returned, otherwise an :exc:`AttributeError` is raised and ``-1`` is "
"returned."
msgstr ""
"通用的属性设置和删除函数,用于放入类型对象的 :c:member:`~PyTypeObject.tp_setattro` "
"槽。它在类的字典中(位于对象的MRO中)查找数据描述器,如果找到,则将比在实例字典中设置或删除属性优先执行。否则,该属性将在对象的 "
":attr:`~object.__dict__` 中设置或删除。如果成功将返回 ``0``,否则将引发 :exc:`AttributeError` "
"并返回 ``-1``。"
#: ../../c-api/object.rst:125
msgid ""
"Delete attribute named *attr_name*, for object *o*. Returns ``-1`` on "
"failure. This is the equivalent of the Python statement ``del o.attr_name``."
msgstr ""
"删除对象 *o* 中名为 *attr_name* 的属性。失败时返回 ``-1``。这相当于 Python 语句 ``del "
"o.attr_name``。"
#: ../../c-api/object.rst:131
msgid ""
"This is the same as :c:func:`PyObject_DelAttr`, but *attr_name* is specified"
" as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than a "
":c:expr:`PyObject*`."
msgstr ""
"这与 :c:func:`PyObject_DelAttr` 相同,但 *attr_name* 被指定为 :c:expr:`const char*` "
"UTF-8 编码的字节串,而不是 :c:expr:`PyObject*`。"
#: ../../c-api/object.rst:138
msgid ""
"A generic implementation for the getter of a ``__dict__`` descriptor. It "
"creates the dictionary if necessary."
msgstr "``__dict__`` 描述符的获取函数的一种通用实现。必要时会创建该字典。"
#: ../../c-api/object.rst:141
msgid ""
"This function may also be called to get the :py:attr:`~object.__dict__` of "
"the object *o*. Pass ``NULL`` for *context* when calling it. Since this "
"function may need to allocate memory for the dictionary, it may be more "
"efficient to call :c:func:`PyObject_GetAttr` when accessing an attribute on "
"the object."
msgstr ""
"此函数还可能会被调用以获取对象 *o* 的 :py:attr:`~object.__dict__`。 当调用它时可传入 ``NULL`` 作为 "
"*context*。 由于此函数可能需要为字典分配内存,所以在访问对象上的属性时调用 :c:func:`PyObject_GetAttr` "
"可能会更为高效。"
#: ../../c-api/object.rst:147
msgid "On failure, returns ``NULL`` with an exception set."
msgstr "当失败时,将返回 ``NULL`` 并设置一个异常。"
#: ../../c-api/object.rst:154
msgid ""
"A generic implementation for the setter of a ``__dict__`` descriptor. This "
"implementation does not allow the dictionary to be deleted."
msgstr "``__dict__`` 描述符设置函数的一种通用实现。这里不允许删除该字典。"
#: ../../c-api/object.rst:162
msgid ""
"Return a pointer to :py:attr:`~object.__dict__` of the object *obj*. If "
"there is no ``__dict__``, return ``NULL`` without setting an exception."
msgstr ""
"返回一个指向对象 *obj* 的 :py:attr:`~object.__dict__` 的指针。 如果不存在 ``__dict__``,则返回 "
"``NULL`` 并且不设置异常。"
#: ../../c-api/object.rst:165
msgid ""
"This function may need to allocate memory for the dictionary, so it may be "
"more efficient to call :c:func:`PyObject_GetAttr` when accessing an "
"attribute on the object."
msgstr "此函数可能需要为字典分配内存,所以在访问对象上的属性时调用 :c:func:`PyObject_GetAttr` 可能会更为高效。"
#: ../../c-api/object.rst:172
msgid ""
"Compare the values of *o1* and *o2* using the operation specified by *opid*,"
" which must be one of :c:macro:`Py_LT`, :c:macro:`Py_LE`, :c:macro:`Py_EQ`, "
":c:macro:`Py_NE`, :c:macro:`Py_GT`, or :c:macro:`Py_GE`, corresponding to "
"``<``, ``<=``, ``==``, ``!=``, ``>``, or ``>=`` respectively. This is the "
"equivalent of the Python expression ``o1 op o2``, where ``op`` is the "
"operator corresponding to *opid*. Returns the value of the comparison on "
"success, or ``NULL`` on failure."
msgstr ""
"使用由 *opid* 指定的操作来比较 *o1* 和 *o2* 的值,操作必须为 :c:macro:`Py_LT`, :c:macro:`Py_LE`,"
" :c:macro:`Py_EQ`, :c:macro:`Py_NE`, :c:macro:`Py_GT` 或 :c:macro:`Py_GE` "
"中的一个,分别对应于 ``<``, ``<=``, ``==``, ``!=``, ``>`` 或 ``>=``。 这等价于 Python 表达式 "
"``o1 op o2``,其中 ``op`` 是与 *opid* 对应的运算符。 成功时返回比较结果值,失败时返回 ``NULL``。"
#: ../../c-api/object.rst:182
msgid ""
"Compare the values of *o1* and *o2* using the operation specified by *opid*,"
" like :c:func:`PyObject_RichCompare`, but returns ``-1`` on error, ``0`` if "
"the result is false, ``1`` otherwise."
msgstr ""
"使用 *opid* 所指定的操作,例如 :c:func:`PyObject_RichCompare` 来比较 *o1* 和 *o2* "
"的值,但在出错时返回 ``-1``,在结果为假值时返回 ``0``,在其他情况下返回 ``1``。"
#: ../../c-api/object.rst:187
msgid ""
"If *o1* and *o2* are the same object, :c:func:`PyObject_RichCompareBool` "
"will always return ``1`` for :c:macro:`Py_EQ` and ``0`` for "
":c:macro:`Py_NE`."
msgstr ""
"如果 *o1* 和 *o2* 是同一个对象,:c:func:`PyObject_RichCompareBool` 将总是为 "
":c:macro:`Py_EQ` 返回 ``1`` 并为 :c:macro:`Py_NE` 返回 ``0``。"
#: ../../c-api/object.rst:192
msgid ""
"Format *obj* using *format_spec*. This is equivalent to the Python "
"expression ``format(obj, format_spec)``."
msgstr ""
"格式 *obj* 使用 *format_spec*。 这等价于 Python 表达式 ``format(obj, format_spec)``。"
#: ../../c-api/object.rst:195
msgid ""
"*format_spec* may be ``NULL``. In this case the call is equivalent to "
"``format(obj)``. Returns the formatted string on success, ``NULL`` on "
"failure."
msgstr ""
"*format_spec* 可以为 ``NULL``。 在此情况下调用将等价于 ``format(obj)``。 成功时返回已格式化的字符串,失败时返回"
" ``NULL``。"
#: ../../c-api/object.rst:203
msgid ""
"Compute a string representation of object *o*. Returns the string "
"representation on success, ``NULL`` on failure. This is the equivalent of "
"the Python expression ``repr(o)``. Called by the :func:`repr` built-in "
"function."
msgstr ""
"计算对象 *o* 的字符串形式。 成功时返回字符串,失败时返回 ``NULL``。 这相当于 Python 表达式 ``repr(o)``。 由内置函数"
" :func:`repr` 调用。"
#: ../../c-api/object.rst:207 ../../c-api/object.rst:231
msgid ""
"This function now includes a debug assertion to help ensure that it does not"
" silently discard an active exception."
msgstr "该函数现在包含一个调试断言,用以确保不会静默地丢弃活动的异常。"
#: ../../c-api/object.rst:215
msgid ""
"As :c:func:`PyObject_Repr`, compute a string representation of object *o*, "
"but escape the non-ASCII characters in the string returned by "
":c:func:`PyObject_Repr` with ``\\x``, ``\\u`` or ``\\U`` escapes. This "
"generates a string similar to that returned by :c:func:`PyObject_Repr` in "
"Python 2. Called by the :func:`ascii` built-in function."
msgstr ""
"与 :c:func:`PyObject_Repr` 一样,计算对象 *o* 的字符串形式,但在 :c:func:`PyObject_Repr` "
"返回的字符串中用 ``\\x``、``\\u`` 或 ``\\U`` 转义非 ASCII 字符。这将生成一个类似于 Python 2 中由 "
":c:func:`PyObject_Repr` 返回的字符串。由内置函数 :func:`ascii` 调用。"
#: ../../c-api/object.rst:226
msgid ""
"Compute a string representation of object *o*. Returns the string "
"representation on success, ``NULL`` on failure. This is the equivalent of "
"the Python expression ``str(o)``. Called by the :func:`str` built-in "
"function and, therefore, by the :func:`print` function."
msgstr ""
"计算对象 *o* 的字符串形式。 成功时返回字符串,失败时返回 ``NULL``。 这相当于 Python 表达式 ``str(o)``。由内置函数 "
":func:`str` 调用,因此也由 :func:`print` 函数调用。"
#: ../../c-api/object.rst:240
msgid ""
"Compute a bytes representation of object *o*. ``NULL`` is returned on "
"failure and a bytes object on success. This is equivalent to the Python "
"expression ``bytes(o)``, when *o* is not an integer. Unlike ``bytes(o)``, a"
" TypeError is raised when *o* is an integer instead of a zero-initialized "
"bytes object."
msgstr ""
"计算对象 *o* 的字节形式。失败时返回 ``NULL``,成功时返回一个字节串对象。这相当于 *o* 不是整数时的 Python 表达式 "
"``bytes(o)`` 。与 ``bytes(o)`` 不同的是,当 *o* 是整数而不是初始为 0 的字节串对象时,会触发 TypeError。"
#: ../../c-api/object.rst:249
msgid ""
"Return ``1`` if the class *derived* is identical to or derived from the "
"class *cls*, otherwise return ``0``. In case of an error, return ``-1``."
msgstr "如果 *derived* 类与 *cls* 类相同或为其派生类,则返回 ``1``,否则返回 ``0``。 如果出错则返回 ``-1``。"
#: ../../c-api/object.rst:252 ../../c-api/object.rst:271
msgid ""
"If *cls* is a tuple, the check will be done against every entry in *cls*. "
"The result will be ``1`` when at least one of the checks returns ``1``, "
"otherwise it will be ``0``."
msgstr ""
"如果 *cls* 是元组,则会对 *cls* 进行逐项检测。如果至少有一次检测返回 ``1``,结果将为 ``1``,否则将是 ``0``。"
#: ../../c-api/object.rst:256
msgid ""
"If *cls* has a :meth:`~class.__subclasscheck__` method, it will be called to"
" determine the subclass status as described in :pep:`3119`. Otherwise, "
"*derived* is a subclass of *cls* if it is a direct or indirect subclass, "
"i.e. contained in ``cls.__mro__``."
msgstr ""
"正如 :pep:`3119` 所述,如果 *cls* 带有 :meth:`~class.__subclasscheck__` "
"方法,将会被调用以确定子类的状态。 否则,如果 *derived* 是个直接或间接子类,即包含在 ``cls.__mro__`` 中,那么它就是 "
"*cls* 的一个子类。"
#: ../../c-api/object.rst:261
msgid ""
"Normally only class objects, i.e. instances of :class:`type` or a derived "
"class, are considered classes. However, objects can override this by having"
" a :attr:`~class.__bases__` attribute (which must be a tuple of base "
"classes)."
msgstr ""
"通常只有类对象(即 :class:`type` 或派生类的实例)才被视为类。 但是,对象可以通过设置 :attr:`~class.__bases__` "
"属性(必须是基类的元组)来覆盖这一点。"
#: ../../c-api/object.rst:268
msgid ""
"Return ``1`` if *inst* is an instance of the class *cls* or a subclass of "
"*cls*, or ``0`` if not. On error, returns ``-1`` and sets an exception."
msgstr ""
"如果 *inst* 是 *cls* 类或其子类的实例,则返回 ``1``,如果不是则返回 ``0``。 如果出错则返回 ``-1`` 并设置一个异常。"
#: ../../c-api/object.rst:275
msgid ""
"If *cls* has a :meth:`~class.__instancecheck__` method, it will be called to"
" determine the subclass status as described in :pep:`3119`. Otherwise, "
"*inst* is an instance of *cls* if its class is a subclass of *cls*."
msgstr ""
"正如 :pep:`3119` 所述,如果 *cls* 带有 :meth:`~class.__subclasscheck__` "
"方法,将会被调用以确定子类的状态。 否则,如果 *derived* 是 *cls* 的子类,那么它就是 *cls* 的一个实例。"
#: ../../c-api/object.rst:279
msgid ""
"An instance *inst* can override what is considered its class by having a "
":attr:`~instance.__class__` attribute."
msgstr "实例 *inst* 可以通过 :attr:`~instance.__class__` 属性来覆盖其所属的类。"
#: ../../c-api/object.rst:282
msgid ""
"An object *cls* can override if it is considered a class, and what its base "
"classes are, by having a :attr:`~class.__bases__` attribute (which must be a"
" tuple of base classes)."
msgstr ""
"对象 *cls* 可以通过设置 :attr:`~class.__bases__` 属性(该属性必须是基类的元组)来覆盖其是否会被视为类,及其有哪些基类。"
#: ../../c-api/object.rst:291
msgid ""
"Compute and return the hash value of an object *o*. On failure, return "
"``-1``. This is the equivalent of the Python expression ``hash(o)``."
msgstr "计算并返回对象的哈希值 *o*。 失败时返回 ``-1``。这相当于 Python 表达式 ``hash(o)``。"
#: ../../c-api/object.rst:294
msgid ""
"The return type is now Py_hash_t. This is a signed integer the same size as"
" :c:type:`Py_ssize_t`."
msgstr "现在的返回类型是 Py_hash_t。 这是一个大小与 :c:type:`Py_ssize_t` 相同的有符号整数。"
#: ../../c-api/object.rst:301
msgid ""
"Set a :exc:`TypeError` indicating that ``type(o)`` is not :term:`hashable` "
"and return ``-1``. This function receives special treatment when stored in a"
" ``tp_hash`` slot, allowing a type to explicitly indicate to the interpreter"
" that it is not hashable."
msgstr ""
"设置一个 :exc:`TypeError` 来指明 ``type(o)`` 不是 :term:`hashable` 并返回 ``-1``。 "
"此函数在存储于 ``tp_hash`` 槽位内时会获得特别对待,允许某个类型显式地向解释器指明它是不可哈希对象。"
#: ../../c-api/object.rst:309
msgid ""
"Returns ``1`` if the object *o* is considered to be true, and ``0`` "
"otherwise. This is equivalent to the Python expression ``not not o``. On "
"failure, return ``-1``."
msgstr ""
"如果对象 *o* 被认为是 true,则返回 ``1``,否则返回 ``0``。这相当于 Python 表达式 ``not not o``。 失败则返回"
" ``-1``。"
#: ../../c-api/object.rst:316
msgid ""
"Returns ``0`` if the object *o* is considered to be true, and ``1`` "
"otherwise. This is equivalent to the Python expression ``not o``. On "
"failure, return ``-1``."
msgstr ""
"如果对象 *o* 被认为是 true,则返回 ``1``,否则返回 ``0``。这相当于 Python 表达式 ``not not o``。 失败则返回"
" ``-1``。"
#: ../../c-api/object.rst:325
msgid ""
"When *o* is non-``NULL``, returns a type object corresponding to the object "
"type of object *o*. On failure, raises :exc:`SystemError` and returns "
"``NULL``. This is equivalent to the Python expression ``type(o)``. This "
"function creates a new :term:`strong reference` to the return value. There's"
" really no reason to use this function instead of the :c:func:`Py_TYPE()` "
"function, which returns a pointer of type :c:expr:`PyTypeObject*`, except "
"when a new :term:`strong reference` is needed."
msgstr ""
"当 *o* 不为 ``NULL`` 时,返回一个与对象 *o* 的类型相对应的类型对象。 当失败时,将引发 :exc:`SystemError` 并返回"
" ``NULL``。 这等同于 Python 表达式 ``type(o)``。 该函数会新建一个指向返回值的 :term:`strong "
"reference`。 实际上没有多少理由使用此函数来替代 :c:func:`Py_TYPE()` 函数,后者将返回一个 "
":c:expr:`PyTypeObject*` 类型的指针,除非是需要一个新的 :term:`strong reference`。"
#: ../../c-api/object.rst:337
msgid ""
"Return non-zero if the object *o* is of type *type* or a subtype of *type*, "
"and ``0`` otherwise. Both parameters must be non-``NULL``."
msgstr "如果对象 *o* 是 *type* 类型或其子类型,则返回非零,否则返回 ``0``。两个参数都必须非 ``NULL``。"
#: ../../c-api/object.rst:346
msgid ""
"Return the length of object *o*. If the object *o* provides either the "
"sequence and mapping protocols, the sequence length is returned. On error, "
"``-1`` is returned. This is the equivalent to the Python expression "
"``len(o)``."
msgstr ""
"返回对象 *o* 的长度。 如果对象 *o* 支持序列和映射协议,则返回序列长度。 出错时返回 ``-1``。这等同于 Python 表达式 "
"``len(o)``。"
#: ../../c-api/object.rst:353
msgid ""
"Return an estimated length for the object *o*. First try to return its "
"actual length, then an estimate using :meth:`~object.__length_hint__`, and "
"finally return the default value. On error return ``-1``. This is the "
"equivalent to the Python expression ``operator.length_hint(o, "
"defaultvalue)``."
msgstr ""
"返回对象 *o* 的估计长度。首先尝试返回实际长度,然后用 :meth:`~object.__length_hint__` "
"进行估计,最后返回默认值。出错时返回 ``-1``。这等同于 Python 表达式 ``operator.length_hint(o, "
"defaultvalue)``。"
#: ../../c-api/object.rst:363
msgid ""
"Return element of *o* corresponding to the object *key* or ``NULL`` on "
"failure. This is the equivalent of the Python expression ``o[key]``."
msgstr "返回对象 *key* 对应的 *o* 元素,或在失败时返回 ``NULL``。这等同于 Python 表达式 ``o[key]``。"
#: ../../c-api/object.rst:369
msgid ""
"Map the object *key* to the value *v*. Raise an exception and return ``-1``"
" on failure; return ``0`` on success. This is the equivalent of the Python "
"statement ``o[key] = v``. This function *does not* steal a reference to "
"*v*."
msgstr ""
"将对象 *key* 映射到值 *v*。 失败时引发异常并返回 ``-1``;成功时返回 ``0``。 这相当于 Python 语句 ``o[key] ="
" v``。该函数 *不会* 偷取 *v* 的引用计数。"
#: ../../c-api/object.rst:377
msgid ""
"Remove the mapping for the object *key* from the object *o*. Return ``-1`` "
"on failure. This is equivalent to the Python statement ``del o[key]``."
msgstr "从对象 *o* 中移除对象 *key* 的映射。失败时返回 ``-1``。 这相当于 Python 语句 ``del o[key]``。"
#: ../../c-api/object.rst:383
msgid ""
"This is equivalent to the Python expression ``dir(o)``, returning a "
"(possibly empty) list of strings appropriate for the object argument, or "
"``NULL`` if there was an error. If the argument is ``NULL``, this is like "
"the Python ``dir()``, returning the names of the current locals; in this "
"case, if no execution frame is active then ``NULL`` is returned but "
":c:func:`PyErr_Occurred` will return false."
msgstr ""
"相当于 Python 表达式 ``dir(o)``,返回一个(可能为空)适合对象参数的字符串列表,如果出错则返回 ``NULL``。 如果参数为 "
"``NULL``,类似 Python 的 ``dir()``,则返回当前 locals 的名字;这时如果没有活动的执行框架,则返回 ``NULL``,但"
" :c:func:`PyErr_Occurred` 将返回 false。"
#: ../../c-api/object.rst:392
msgid ""
"This is equivalent to the Python expression ``iter(o)``. It returns a new "
"iterator for the object argument, or the object itself if the object is "
"already an iterator. Raises :exc:`TypeError` and returns ``NULL`` if the "
"object cannot be iterated."
msgstr ""
"等同于 Python 表达式 "
"``iter(o)``。为对象参数返回一个新的迭代器,如果该对象已经是一个迭代器,则返回对象本身。如果对象不能被迭代,会引发 "
":exc:`TypeError` ,并返回 ``NULL``。"
#: ../../c-api/object.rst:400
msgid ""
"This is the equivalent to the Python expression ``aiter(o)``. Takes an "
":class:`AsyncIterable` object and returns an :class:`AsyncIterator` for it. "
"This is typically a new iterator but if the argument is an "
":class:`AsyncIterator`, this returns itself. Raises :exc:`TypeError` and "
"returns ``NULL`` if the object cannot be iterated."
msgstr ""
"等同于 Python 表达式 ``aiter(o)``。接受一个 :class:`AsyncIterable` 对象,并为其返回一个 "
":class:`AsyncIterator`。通常返回的是一个新迭代器,但如果参数是一个 "
":class:`AsyncIterator`,将返回其自身。如果该对象不能被迭代,会引发 :exc:`TypeError`,并返回 ``NULL``。"
#: ../../c-api/object.rst:201 ../../c-api/object.rst:213
#: ../../c-api/object.rst:238 ../../c-api/object.rst:289
#: ../../c-api/object.rst:323 ../../c-api/object.rst:344
msgid "built-in function"
msgstr "内置函数"
#: ../../c-api/object.rst:201
msgid "repr"
msgstr "repr"
#: ../../c-api/object.rst:213
msgid "ascii"
msgstr "ascii"
#: ../../c-api/object.rst:221
msgid "string"
msgstr "string"
#: ../../c-api/object.rst:221
msgid "PyObject_Str (C function)"
msgstr "PyObject_Str (C 函数)"
#: ../../c-api/object.rst:238
msgid "bytes"
msgstr "字节串"
#: ../../c-api/object.rst:289
msgid "hash"
msgstr "hash"
#: ../../c-api/object.rst:323
msgid "type"
msgstr "type"
#: ../../c-api/object.rst:344
msgid "len"
msgstr "len"