# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001 Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR , YEAR.
#
# Translators:
# python-doc bot, 2025
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.15\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-01 19:07+0000\n"
"PO-Revision-Date: 2025-09-16 00:00+0000\n"
"Last-Translator: python-doc bot, 2025\n"
"Language-Team: Japanese (https://app.transifex.com/python-doc/teams/5390/"
"ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../../c-api/object.rst:6
msgid "Object Protocol"
msgstr " (object protocol)"
#: ../../c-api/object.rst:11
msgid "Get a :term:`strong reference` to a constant."
msgstr ""
#: ../../c-api/object.rst:13
msgid "Set an exception and return ``NULL`` if *constant_id* is invalid."
msgstr ""
#: ../../c-api/object.rst:15
msgid "*constant_id* must be one of these constant identifiers:"
msgstr ""
#: ../../c-api/object.rst:20
msgid "Constant Identifier"
msgstr ""
#: ../../c-api/object.rst:20
msgid "Value"
msgstr ""
#: ../../c-api/object.rst:20
msgid "Returned object"
msgstr ""
#: ../../c-api/object.rst:22 ../../c-api/object.rst:27
msgid "``0``"
msgstr "``0``"
#: ../../c-api/object.rst:22
msgid ":py:data:`None`"
msgstr ""
#: ../../c-api/object.rst:23 ../../c-api/object.rst:28
msgid "``1``"
msgstr "``1``"
#: ../../c-api/object.rst:23
msgid ":py:data:`False`"
msgstr ""
#: ../../c-api/object.rst:24
msgid "``2``"
msgstr "``2``"
#: ../../c-api/object.rst:24
msgid ":py:data:`True`"
msgstr ""
#: ../../c-api/object.rst:25
msgid "``3``"
msgstr "``3``"
#: ../../c-api/object.rst:25
msgid ":py:data:`Ellipsis`"
msgstr ""
#: ../../c-api/object.rst:26
msgid "``4``"
msgstr "``4``"
#: ../../c-api/object.rst:26
msgid ":py:data:`NotImplemented`"
msgstr ""
#: ../../c-api/object.rst:27
msgid "``5``"
msgstr "``5``"
#: ../../c-api/object.rst:28
msgid "``6``"
msgstr "``6``"
#: ../../c-api/object.rst:29
msgid "``7``"
msgstr "``7``"
#: ../../c-api/object.rst:29
msgid "``''``"
msgstr ""
#: ../../c-api/object.rst:30
msgid "``8``"
msgstr "``8``"
#: ../../c-api/object.rst:30
msgid "``b''``"
msgstr ""
#: ../../c-api/object.rst:31
msgid "``9``"
msgstr "``9``"
#: ../../c-api/object.rst:31
msgid "``()``"
msgstr ""
#: ../../c-api/object.rst:34
msgid ""
"Numeric values are only given for projects which cannot use the constant "
"identifiers."
msgstr ""
#: ../../c-api/object.rst:42
msgid "In CPython, all of these constants are :term:`immortal`."
msgstr ""
#: ../../c-api/object.rst:47
msgid ""
"Similar to :c:func:`Py_GetConstant`, but return a :term:`borrowed reference`."
msgstr ""
#: ../../c-api/object.rst:50
msgid ""
"This function is primarily intended for backwards compatibility: using :c:"
"func:`Py_GetConstant` is recommended for new code."
msgstr ""
#: ../../c-api/object.rst:53
msgid ""
"The reference is borrowed from the interpreter, and is valid until the "
"interpreter finalization."
msgstr ""
#: ../../c-api/object.rst:61
msgid ""
"The ``NotImplemented`` singleton, used to signal that an operation is not "
"implemented for the given type combination."
msgstr ""
""
" `` (NotImplemented)`` "
#: ../../c-api/object.rst:67
msgid ""
"Properly handle returning :c:data:`Py_NotImplemented` from within a C "
"function (that is, create a new :term:`strong reference` to :const:"
"`NotImplemented` and return it)."
msgstr ""
#: ../../c-api/object.rst:74
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 "
"functions use the :func:`str` of the object instead of the :func:`repr`."
msgstr ""
#: ../../c-api/object.rst:82
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 ""
#: ../../c-api/object.rst:90
msgid ""
"Dump an object *op* to ``stderr``. This should only be used for debugging."
msgstr ""
#: ../../c-api/object.rst:92
msgid ""
"The output is intended to try dumping objects even after memory corruption:"
msgstr ""
#: ../../c-api/object.rst:94
msgid ""
"Information is written starting with fields that are the least likely to "
"crash when accessed."
msgstr ""
#: ../../c-api/object.rst:96
msgid ""
"This function can be called without an :term:`attached thread state`, but "
"it's not recommended to do so: it can cause deadlocks."
msgstr ""
#: ../../c-api/object.rst:98
msgid ""
"An object that does not belong to the current interpreter may be dumped, but "
"this may also cause crashes or unintended behavior."
msgstr ""
#: ../../c-api/object.rst:100
msgid ""
"Implement a heuristic to detect if the object memory has been freed. Don't "
"display the object contents in this case, only its memory address."
msgstr ""
#: ../../c-api/object.rst:102
msgid "The output format may change at any time."
msgstr ""
#: ../../c-api/object.rst:104
msgid "Example of output:"
msgstr ""
#: ../../c-api/object.rst:106
msgid ""
"object address : 0x7f80124702c0\n"
"object refcount : 2\n"
"object type : 0x9902e0\n"
"object type name: str\n"
"object repr : 'abcdef'"
msgstr ""
#: ../../c-api/object.rst:119
msgid ""
"Returns ``1`` if *o* has the attribute *attr_name*, and ``0`` otherwise. "
"This is equivalent to the Python expression ``hasattr(o, attr_name)``. On "
"failure, return ``-1``."
msgstr ""
#: ../../c-api/object.rst:128
msgid ""
"This is the same as :c:func:`PyObject_HasAttrWithError`, but *attr_name* is "
"specified as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than "
"a :c:expr:`PyObject*`."
msgstr ""
#: ../../c-api/object.rst:137
msgid ""
"Returns ``1`` if *o* has the attribute *attr_name*, and ``0`` otherwise. "
"This function always succeeds."
msgstr ""
#: ../../c-api/object.rst:142
msgid ""
"Exceptions that occur when this calls :meth:`~object.__getattr__` and :meth:"
"`~object.__getattribute__` methods aren't propagated, but instead given to :"
"func:`sys.unraisablehook`. For proper error handling, use :c:func:"
"`PyObject_HasAttrWithError`, :c:func:`PyObject_GetOptionalAttr` or :c:func:"
"`PyObject_GetAttr` instead."
msgstr ""
#: ../../c-api/object.rst:151
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-api/object.rst:157
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_HasAttrStringWithError`, :c:func:`PyObject_GetOptionalAttrString` "
"or :c:func:`PyObject_GetAttrString` instead."
msgstr ""
#: ../../c-api/object.rst:167
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:171
msgid ""
"If the missing attribute should not be treated as a failure, you can use :c:"
"func:`PyObject_GetOptionalAttr` instead."
msgstr ""
#: ../../c-api/object.rst:177
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-api/object.rst:181
msgid ""
"If the missing attribute should not be treated as a failure, you can use :c:"
"func:`PyObject_GetOptionalAttrString` instead."
msgstr ""
#: ../../c-api/object.rst:187
msgid ""
"Variant of :c:func:`PyObject_GetAttr` which doesn't raise :exc:"
"`AttributeError` if the attribute is not found."
msgstr ""
#: ../../c-api/object.rst:190
msgid ""
"If the attribute is found, return ``1`` and set *\\*result* to a new :term:"
"`strong reference` to the attribute. If the attribute is not found, return "
"``0`` and set *\\*result* to ``NULL``; the :exc:`AttributeError` is "
"silenced. If an error other than :exc:`AttributeError` is raised, return "
"``-1`` and set *\\*result* to ``NULL``."
msgstr ""
#: ../../c-api/object.rst:202
msgid ""
"This is the same as :c:func:`PyObject_GetOptionalAttr`, but *attr_name* is "
"specified as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than "
"a :c:expr:`PyObject*`."
msgstr ""
#: ../../c-api/object.rst:210
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`` "
" () :attr:`~object."
"__dict__` MRO "
" :ref:`descriptors` "
""
" :exc:`AttributeError` "
#: ../../c-api/object.rst:220
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* \n"
" ``-1`` ; ``0`` \n"
" Python ``o.attr_name = v`` "
#: ../../c-api/object.rst:225
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:229 ../../c-api/object.rst:246
msgid ""
"The function must not be called with a ``NULL`` *v* and an exception set. "
"This case can arise from forgetting ``NULL`` checks and would delete the "
"attribute."
msgstr ""
#: ../../c-api/object.rst:233 ../../c-api/object.rst:258
msgid "Must not be called with NULL value if an exception is set."
msgstr ""
#: ../../c-api/object.rst:239
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-api/object.rst:243
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:250
msgid ""
"The number of different attribute names passed to this function should be "
"kept small, usually by using a statically allocated string as *attr_name*. "
"For attribute names that aren't known at compile time, prefer calling :c:"
"func:`PyUnicode_FromString` and :c:func:`PyObject_SetAttr` directly. For "
"more details, see :c:func:`PyUnicode_InternFromString`, which may be used "
"internally to create a key object."
msgstr ""
#: ../../c-api/object.rst:264
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` \n"
" MRO "
"\n"
"() :attr:`~object.__dict__` "
"\n"
" ``0`` :exc:`AttributeError` "
"``-1`` "
#: ../../c-api/object.rst:276
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:282
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-api/object.rst:286
msgid ""
"The number of different attribute names passed to this function should be "
"kept small, usually by using a statically allocated string as *attr_name*. "
"For attribute names that aren't known at compile time, prefer calling :c:"
"func:`PyUnicode_FromString` and :c:func:`PyObject_DelAttr` directly. For "
"more details, see :c:func:`PyUnicode_InternFromString`, which may be used "
"internally to create a key object for lookup."
msgstr ""
#: ../../c-api/object.rst:297
msgid ""
"A generic implementation for the getter of a ``__dict__`` descriptor. It "
"creates the dictionary if necessary."
msgstr ""
"``__dict__`` getter "
""
#: ../../c-api/object.rst:300
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 ""
#: ../../c-api/object.rst:306
msgid "On failure, returns ``NULL`` with an exception set."
msgstr ""
#: ../../c-api/object.rst:313
msgid ""
"A generic implementation for the setter of a ``__dict__`` descriptor. This "
"implementation does not allow the dictionary to be deleted."
msgstr ""
"``__dict__`` setter "
""
#: ../../c-api/object.rst:321
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 ""
#: ../../c-api/object.rst:324
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-api/object.rst:331
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 "
"``=`` 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 ""
#: ../../c-api/object.rst:341
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 ""
#: ../../c-api/object.rst:346
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 ""
#: ../../c-api/object.rst:351
msgid ""
"Format *obj* using *format_spec*. This is equivalent to the Python "
"expression ``format(obj, format_spec)``."
msgstr ""
#: ../../c-api/object.rst:354
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 ""
#: ../../c-api/object.rst:362
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:366 ../../c-api/object.rst:382
#: ../../c-api/object.rst:394
msgid "If argument is ``NULL``, return the string ``''``."
msgstr ""
#: ../../c-api/object.rst:368 ../../c-api/object.rst:396
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:376
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` ASCII "
" ``\\x`` ``\\u`` ``\\U`` "
" Pythoh 2 :c:func:`PyObject_Repr` "
" :func:`ascii` "
#: ../../c-api/object.rst:389
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:405
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`` "
" bytes *o* Python "
"``bytes(o)`` ``bytes(o)`` *o* "
" bytes TypeError "
#: ../../c-api/object.rst:411
msgid ""
"If argument is ``NULL``, return the :class:`bytes` object ``b''``."
msgstr ""
#: ../../c-api/object.rst:416
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`` \n"
" ``-1`` "
#: ../../c-api/object.rst:419 ../../c-api/object.rst:438
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* \n"
"1 ``1`` ``1`` "
" ``0`` "
#: ../../c-api/object.rst:423
msgid ""
"If *cls* has a :meth:`~type.__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 :attr:`cls.__mro__ `."
msgstr ""
#: ../../c-api/object.rst:428
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:`~type.__bases__` attribute (which must be a tuple of base classes)."
msgstr ""
#: ../../c-api/object.rst:435
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* *cls* "
"``1`` ``0`` \n"
" ``-1`` "
#: ../../c-api/object.rst:442
msgid ""
"If *cls* has a :meth:`~type.__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 ""
#: ../../c-api/object.rst:446
msgid ""
"An instance *inst* can override what is considered its class by having a :"
"attr:`~object.__class__` attribute."
msgstr ""
#: ../../c-api/object.rst:449
msgid ""
"An object *cls* can override if it is considered a class, and what its base "
"classes are, by having a :attr:`~type.__bases__` attribute (which must be a "
"tuple of base classes)."
msgstr ""
#: ../../c-api/object.rst:458
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:461
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:468
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 ""
#: ../../c-api/object.rst:476
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* ``1`` ``0`` "
" Python ``not not o`` ``-1`` "
#: ../../c-api/object.rst:483
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* ``0`` ``1`` "
" Python ``not o`` ``-1`` "
#: ../../c-api/object.rst:492
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 ""
#: ../../c-api/object.rst:504
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 ""
#: ../../c-api/object.rst:513
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:520
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* \n"
" :meth:`~object.__length_hint__` "
"\n"
" Python ``operator.length_hint(o, defaultvalue)`` "
#: ../../c-api/object.rst:530
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:536
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* \n"
" ``-1`` ``0`` \n"
" Python ``o[key] = v`` \n"
" *v* ** "
#: ../../c-api/object.rst:544
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:550
msgid ""
"This is the same as :c:func:`PyObject_DelItem`, but *key* is specified as a :"
"c:expr:`const char*` UTF-8 encoded bytes string, rather than a :c:expr:"
"`PyObject*`."
msgstr ""
#: ../../c-api/object.rst:557
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()`` "
"; "
" ``NULL`` :c:func:`PyErr_Occurred` "
#: ../../c-api/object.rst:566
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:574
msgid ""
"This is equivalent to the Python ``__iter__(self): return self`` method. It "
"is intended for :term:`iterator` types, to be used in the :c:member:"
"`PyTypeObject.tp_iter` slot."
msgstr ""
#: ../../c-api/object.rst:580
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 ""
#: ../../c-api/object.rst:590
msgid "Get a pointer to subclass-specific data reserved for *cls*."
msgstr ""
#: ../../c-api/object.rst:592
msgid ""
"The object *o* must be an instance of *cls*, and *cls* must have been "
"created using negative :c:member:`PyType_Spec.basicsize`. Python does not "
"check this."
msgstr ""
#: ../../c-api/object.rst:596
msgid "On error, set an exception and return ``NULL``."
msgstr ""
#: ../../c-api/object.rst:602
msgid ""
"Return the size of the instance memory space reserved for *cls*, i.e. the "
"size of the memory :c:func:`PyObject_GetTypeData` returns."
msgstr ""
#: ../../c-api/object.rst:605
msgid ""
"This may be larger than requested using :c:member:`-PyType_Spec.basicsize "
"`; it is safe to use this larger size (e.g. with :c:"
"func:`!memset`)."
msgstr ""
#: ../../c-api/object.rst:608
msgid ""
"The type *cls* **must** have been created using negative :c:member:"
"`PyType_Spec.basicsize`. Python does not check this."
msgstr ""
#: ../../c-api/object.rst:612
msgid "On error, set an exception and return a negative value."
msgstr ""
#: ../../c-api/object.rst:618
msgid ""
"Get a pointer to per-item data for a class with :c:macro:"
"`Py_TPFLAGS_ITEMS_AT_END`."
msgstr ""
#: ../../c-api/object.rst:621
msgid ""
"On error, set an exception and return ``NULL``. :py:exc:`TypeError` is "
"raised if *o* does not have :c:macro:`Py_TPFLAGS_ITEMS_AT_END` set."
msgstr ""
#: ../../c-api/object.rst:629
msgid "Visit the managed dictionary of *obj*."
msgstr ""
#: ../../c-api/object.rst:631
msgid ""
"This function must only be called in a traverse function of the type which "
"has the :c:macro:`Py_TPFLAGS_MANAGED_DICT` flag set."
msgstr ""
#: ../../c-api/object.rst:638
msgid "Clear the managed dictionary of *obj*."
msgstr ""
#: ../../c-api/object.rst:640
msgid ""
"This function must only be called in a clear function of the type which has "
"the :c:macro:`Py_TPFLAGS_MANAGED_DICT` flag set."
msgstr ""
#: ../../c-api/object.rst:647
msgid ""
"Enable `deferred reference counting `_ on *obj*, if supported by the runtime. In "
"the :term:`free-threaded ` build, this allows the "
"interpreter to avoid reference count adjustments to *obj*, which may improve "
"multi-threaded performance. The tradeoff is that *obj* will only be "
"deallocated by the tracing garbage collector, and not when the interpreter "
"no longer has any references to it."
msgstr ""
#: ../../c-api/object.rst:654
msgid ""
"This function returns ``1`` if deferred reference counting is enabled on "
"*obj*, and ``0`` if deferred reference counting is not supported or if the "
"hint was ignored by the interpreter, such as when deferred reference "
"counting is already enabled on *obj*. This function is thread-safe, and "
"cannot fail."
msgstr ""
#: ../../c-api/object.rst:659
msgid ""
"This function does nothing on builds with the :term:`GIL` enabled, which do "
"not support deferred reference counting. This also does nothing if *obj* is "
"not an object tracked by the garbage collector (see :func:`gc.is_tracked` "
"and :c:func:`PyObject_GC_IsTracked`)."
msgstr ""
#: ../../c-api/object.rst:664
msgid ""
"This function is intended to be used soon after *obj* is created, by the "
"code that creates it, such as in the object's :c:member:`~PyTypeObject."
"tp_new` slot."
msgstr ""
#: ../../c-api/object.rst:672
msgid ""
"Check if *obj* is a unique temporary object. Returns ``1`` if *obj* is known "
"to be a unique temporary object, and ``0`` otherwise. This function cannot "
"fail, but the check is conservative, and may return ``0`` in some cases even "
"if *obj* is a unique temporary object."
msgstr ""
#: ../../c-api/object.rst:678
msgid ""
"If an object is a unique temporary, it is guaranteed that the current code "
"has the only reference to the object. For arguments to C functions, this "
"should be used instead of checking if the reference count is ``1``. Starting "
"with Python 3.14, the interpreter internally avoids some reference count "
"modifications when loading objects onto the operands stack by :term:"
"`borrowing ` references when possible, which means that "
"a reference count of ``1`` by itself does not guarantee that a function "
"argument uniquely referenced."
msgstr ""
#: ../../c-api/object.rst:687
msgid ""
"In the example below, ``my_func`` is called with a unique temporary object "
"as its argument::"
msgstr ""
#: ../../c-api/object.rst:690
msgid "my_func([1, 2, 3])"
msgstr ""
#: ../../c-api/object.rst:692
msgid ""
"In the example below, ``my_func`` is **not** called with a unique temporary "
"object as its argument, even if its refcount is ``1``::"
msgstr ""
#: ../../c-api/object.rst:695
msgid ""
"my_list = [1, 2, 3]\n"
"my_func(my_list)"
msgstr ""
#: ../../c-api/object.rst:698
msgid "See also the function :c:func:`Py_REFCNT`."
msgstr ""
#: ../../c-api/object.rst:704
msgid ""
"This function returns non-zero if *obj* is :term:`immortal`, and zero "
"otherwise. This function cannot fail."
msgstr ""
#: ../../c-api/object.rst:709
msgid ""
"Objects that are immortal in one CPython version are not guaranteed to be "
"immortal in another."
msgstr ""
#: ../../c-api/object.rst:716
msgid ""
"Increments the reference count of *obj* if it is not zero. Returns ``1`` if "
"the object's reference count was successfully incremented. Otherwise, this "
"function returns ``0``."
msgstr ""
#: ../../c-api/object.rst:720
msgid ""
":c:func:`PyUnstable_EnableTryIncRef` must have been called earlier on *obj* "
"or this function may spuriously return ``0`` in the :term:`free-threaded "
"build`."
msgstr ""
#: ../../c-api/object.rst:724
msgid ""
"This function is logically equivalent to the following C code, except that "
"it behaves atomically in the :term:`free-threaded build`::"
msgstr ""
#: ../../c-api/object.rst:727
msgid ""
"if (Py_REFCNT(op) > 0) {\n"
" Py_INCREF(op);\n"
" return 1;\n"
"}\n"
"return 0;"
msgstr ""
#: ../../c-api/object.rst:733
msgid ""
"This is intended as a building block for managing weak references without "
"the overhead of a Python :ref:`weak reference object `."
msgstr ""
#: ../../c-api/object.rst:736
msgid ""
"Typically, correct use of this function requires support from *obj*'s "
"deallocator (:c:member:`~PyTypeObject.tp_dealloc`). For example, the "
"following sketch could be adapted to implement a \"weakmap\" that works like "
"a :py:class:`~weakref.WeakValueDictionary` for a specific type:"
msgstr ""
#: ../../c-api/object.rst:742
msgid ""
"PyMutex mutex;\n"
"\n"
"PyObject *\n"
"add_entry(weakmap_key_type *key, PyObject *value)\n"
"{\n"
" PyUnstable_EnableTryIncRef(value);\n"
" weakmap_type weakmap = ...;\n"
" PyMutex_Lock(&mutex);\n"
" weakmap_add_entry(weakmap, key, value);\n"
" PyMutex_Unlock(&mutex);\n"
" Py_RETURN_NONE;\n"
"}\n"
"\n"
"PyObject *\n"
"get_value(weakmap_key_type *key)\n"
"{\n"
" weakmap_type weakmap = ...;\n"
" PyMutex_Lock(&mutex);\n"
" PyObject *result = weakmap_find(weakmap, key);\n"
" if (PyUnstable_TryIncRef(result)) {\n"
" // `result` is safe to use\n"
" PyMutex_Unlock(&mutex);\n"
" return result;\n"
" }\n"
" // if we get here, `result` is starting to be garbage-collected,\n"
" // but has not been removed from the weakmap yet\n"
" PyMutex_Unlock(&mutex);\n"
" return NULL;\n"
"}\n"
"\n"
"// tp_dealloc function for weakmap values\n"
"void\n"
"value_dealloc(PyObject *value)\n"
"{\n"
" weakmap_type weakmap = ...;\n"
" PyMutex_Lock(&mutex);\n"
" weakmap_remove_value(weakmap, value);\n"
"\n"
" ...\n"
" PyMutex_Unlock(&mutex);\n"
"}"
msgstr ""
#: ../../c-api/object.rst:790
msgid ""
"Enables subsequent uses of :c:func:`PyUnstable_TryIncRef` on *obj*. The "
"caller must hold a :term:`strong reference` to *obj* when calling this."
msgstr ""
#: ../../c-api/object.rst:797
msgid "Determine if *op* only has one reference."
msgstr ""
#: ../../c-api/object.rst:799
msgid ""
"On GIL-enabled builds, this function is equivalent to :c:expr:`Py_REFCNT(op) "
"== 1`."
msgstr ""
#: ../../c-api/object.rst:802
msgid ""
"On a :term:`free-threaded build`, this checks if *op*'s :term:`reference "
"count` is equal to one and additionally checks if *op* is only used by this "
"thread. :c:expr:`Py_REFCNT(op) == 1` is **not** thread-safe on free-threaded "
"builds; prefer this function."
msgstr ""
#: ../../c-api/object.rst:807
msgid ""
"The caller must hold an :term:`attached thread state`, despite the fact that "
"this function doesn't call into the Python interpreter. This function cannot "
"fail."
msgstr ""
#: ../../c-api/object.rst:815
msgid ""
"Marks the object *op* :term:`immortal`. The argument should be uniquely "
"referenced by the calling thread. This is intended to be used for reducing "
"reference counting contention in the :term:`free-threaded build` for objects "
"which are shared across threads."
msgstr ""
#: ../../c-api/object.rst:819
msgid ""
"This is a one-way process: objects can only be made immortal; they cannot be "
"made mortal once again. Immortal objects do not participate in reference "
"counting and will never be garbage collected. If the object is GC-tracked, "
"it is untracked."
msgstr ""
#: ../../c-api/object.rst:823
msgid ""
"This function is intended to be used soon after *op* is created, by the code "
"that creates it, such as in the object's :c:member:`~PyTypeObject.tp_new` "
"slot. Returns 1 if the object was made immortal and returns 0 if it was not. "
"This function cannot fail."
msgstr ""
#: ../../c-api/object.rst:360 ../../c-api/object.rst:374
#: ../../c-api/object.rst:403 ../../c-api/object.rst:456
#: ../../c-api/object.rst:490 ../../c-api/object.rst:511
msgid "built-in function"
msgstr ""
#: ../../c-api/object.rst:360
msgid "repr"
msgstr "repr"
#: ../../c-api/object.rst:374
msgid "ascii"
msgstr "ascii"
#: ../../c-api/object.rst:384
msgid "string"
msgstr "string"
#: ../../c-api/object.rst:384
msgid "PyObject_Str (C function)"
msgstr "PyObject_Str (C )"
#: ../../c-api/object.rst:403
msgid "bytes"
msgstr "bytes"
#: ../../c-api/object.rst:456
msgid "hash"
msgstr "hash"
#: ../../c-api/object.rst:490
msgid "type"
msgstr "type"
#: ../../c-api/object.rst:511
msgid "len"
msgstr "len"