# 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.14\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 09:12+0000\n"
"PO-Revision-Date: 2025-09-16 00:00+0000\n"
"Last-Translator: python-doc bot, 2025\n"
"Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../c-api/type.rst:6
msgid "Type Objects"
msgstr ""
#: ../../c-api/type.rst:13
msgid "The C structure of the objects used to describe built-in types."
msgstr ""
#: ../../c-api/type.rst:18
msgid ""
"This is the type object for type objects; it is the same object as :class:"
"`type` in the Python layer."
msgstr ""
#: ../../c-api/type.rst:24
msgid ""
"Return non-zero if the object *o* is a type object, including instances of "
"types derived from the standard type object. Return 0 in all other cases. "
"This function always succeeds."
msgstr ""
#: ../../c-api/type.rst:31
msgid ""
"Return non-zero if the object *o* is a type object, but not a subtype of the "
"standard type object. Return 0 in all other cases. This function always "
"succeeds."
msgstr ""
#: ../../c-api/type.rst:38
msgid "Clear the internal lookup cache. Return the current version tag."
msgstr ""
#: ../../c-api/type.rst:42
msgid ""
"Return the :c:member:`~PyTypeObject.tp_flags` member of *type*. This "
"function is primarily meant for use with ``Py_LIMITED_API``; the individual "
"flag bits are guaranteed to be stable across Python releases, but access to :"
"c:member:`~PyTypeObject.tp_flags` itself is not part of the :ref:`limited "
"API `."
msgstr ""
#: ../../c-api/type.rst:49
msgid "The return type is now ``unsigned long`` rather than ``long``."
msgstr ""
#: ../../c-api/type.rst:55
msgid ""
"Return the type object's internal namespace, which is otherwise only exposed "
"via a read-only proxy (:attr:`cls.__dict__ `). This is a "
"replacement for accessing :c:member:`~PyTypeObject.tp_dict` directly. The "
"returned dictionary must be treated as read-only."
msgstr ""
#: ../../c-api/type.rst:61
msgid ""
"This function is meant for specific embedding and language-binding cases, "
"where direct access to the dict is necessary and indirect access (e.g. via "
"the proxy or :c:func:`PyObject_GetAttr`) isn't adequate."
msgstr ""
#: ../../c-api/type.rst:65
msgid ""
"Extension modules should continue to use ``tp_dict``, directly or "
"indirectly, when setting up their own types."
msgstr ""
#: ../../c-api/type.rst:73
msgid ""
"Invalidate the internal lookup cache for the type and all of its subtypes. "
"This function must be called after any manual modification of the attributes "
"or base classes of the type."
msgstr ""
#: ../../c-api/type.rst:80
msgid ""
"Register *callback* as a type watcher. Return a non-negative integer ID "
"which must be passed to future calls to :c:func:`PyType_Watch`. In case of "
"error (e.g. no more watcher IDs available), return ``-1`` and set an "
"exception."
msgstr ""
#: ../../c-api/type.rst:85
msgid ""
"In free-threaded builds, :c:func:`PyType_AddWatcher` is not thread-safe, so "
"it must be called at start up (before spawning the first thread)."
msgstr ""
#: ../../c-api/type.rst:93
msgid ""
"Clear watcher identified by *watcher_id* (previously returned from :c:func:"
"`PyType_AddWatcher`). Return ``0`` on success, ``-1`` on error (e.g. if "
"*watcher_id* was never registered.)"
msgstr ""
#: ../../c-api/type.rst:97
msgid ""
"An extension should never call ``PyType_ClearWatcher`` with a *watcher_id* "
"that was not returned to it by a previous call to :c:func:"
"`PyType_AddWatcher`."
msgstr ""
#: ../../c-api/type.rst:106
msgid ""
"Mark *type* as watched. The callback granted *watcher_id* by :c:func:"
"`PyType_AddWatcher` will be called whenever :c:func:`PyType_Modified` "
"reports a change to *type*. (The callback may be called only once for a "
"series of consecutive modifications to *type*, if :c:func:`!_PyType_Lookup` "
"is not called on *type* between the modifications; this is an implementation "
"detail and subject to change.)"
msgstr ""
#: ../../c-api/type.rst:113
msgid ""
"An extension should never call ``PyType_Watch`` with a *watcher_id* that was "
"not returned to it by a previous call to :c:func:`PyType_AddWatcher`."
msgstr ""
#: ../../c-api/type.rst:121
msgid ""
"Mark *type* as not watched. This undoes a previous call to :c:func:"
"`PyType_Watch`. *type* must not be ``NULL``."
msgstr ""
#: ../../c-api/type.rst:124
msgid ""
"An extension should never call this function with a *watcher_id* that was "
"not returned to it by a previous call to :c:func:`PyType_AddWatcher`."
msgstr ""
#: ../../c-api/type.rst:127
msgid ""
"On success, this function returns ``0``. On failure, this function returns "
"``-1`` with an exception set."
msgstr ""
#: ../../c-api/type.rst:135
msgid "Type of a type-watcher callback function."
msgstr ""
#: ../../c-api/type.rst:137
msgid ""
"The callback must not modify *type* or cause :c:func:`PyType_Modified` to be "
"called on *type* or any type in its MRO; violating this rule could cause "
"infinite recursion."
msgstr ""
#: ../../c-api/type.rst:146
msgid ""
"Return non-zero if the type object *o* sets the feature *feature*. Type "
"features are denoted by single bit flags."
msgstr ""
#: ../../c-api/type.rst:152
msgid ""
"Return non-zero if the type object *type* sets the subclass flag *flag*. "
"Subclass flags are denoted by :c:macro:`Py_TPFLAGS_*_SUBCLASS "
"`. This function is used by many ``_Check`` "
"functions for common types."
msgstr ""
#: ../../c-api/type.rst:158
msgid ""
":c:func:`PyObject_TypeCheck`, which is used as a slower alternative in "
"``_Check`` functions for types that don't come with subclass flags."
msgstr ""
#: ../../c-api/type.rst:164
msgid ""
"Return true if the type object includes support for the cycle detector; this "
"tests the type flag :c:macro:`Py_TPFLAGS_HAVE_GC`."
msgstr ""
#: ../../c-api/type.rst:170
msgid "Return true if *a* is a subtype of *b*."
msgstr ""
#: ../../c-api/type.rst:172
msgid ""
"This function only checks for actual subtypes, which means that :meth:`~type."
"__subclasscheck__` is not called on *b*. Call :c:func:`PyObject_IsSubclass` "
"to do the same check that :func:`issubclass` would do."
msgstr ""
#: ../../c-api/type.rst:180
msgid ""
"Generic handler for the :c:member:`~PyTypeObject.tp_alloc` slot of a type "
"object. Uses Python's default memory allocation mechanism to allocate "
"memory for a new instance, zeros the memory, then initializes the memory as "
"if by calling :c:func:`PyObject_Init` or :c:func:`PyObject_InitVar`."
msgstr ""
#: ../../c-api/type.rst:185
msgid ""
"Do not call this directly to allocate memory for an object; call the type's :"
"c:member:`~PyTypeObject.tp_alloc` slot instead."
msgstr ""
#: ../../c-api/type.rst:188
msgid ""
"For types that support garbage collection (i.e., the :c:macro:"
"`Py_TPFLAGS_HAVE_GC` flag is set), this function behaves like :c:macro:"
"`PyObject_GC_New` or :c:macro:`PyObject_GC_NewVar` (except the memory is "
"guaranteed to be zeroed before initialization), and should be paired with :c:"
"func:`PyObject_GC_Del` in :c:member:`~PyTypeObject.tp_free`. Otherwise, it "
"behaves like :c:macro:`PyObject_New` or :c:macro:`PyObject_NewVar` (except "
"the memory is guaranteed to be zeroed before initialization) and should be "
"paired with :c:func:`PyObject_Free` in :c:member:`~PyTypeObject.tp_free`."
msgstr ""
#: ../../c-api/type.rst:201
msgid ""
"Generic handler for the :c:member:`~PyTypeObject.tp_new` slot of a type "
"object. Creates a new instance using the type's :c:member:`~PyTypeObject."
"tp_alloc` slot and returns the resulting object."
msgstr ""
#: ../../c-api/type.rst:208
msgid ""
"Finalize a type object. This should be called on all type objects to finish "
"their initialization. This function is responsible for adding inherited "
"slots from a type's base class. Return ``0`` on success, or return ``-1`` "
"and sets an exception on error."
msgstr ""
#: ../../c-api/type.rst:214
msgid ""
"If some of the base classes implements the GC protocol and the provided type "
"does not include the :c:macro:`Py_TPFLAGS_HAVE_GC` in its flags, then the GC "
"protocol will be automatically implemented from its parents. On the "
"contrary, if the type being created does include :c:macro:"
"`Py_TPFLAGS_HAVE_GC` in its flags then it **must** implement the GC protocol "
"itself by at least implementing the :c:member:`~PyTypeObject.tp_traverse` "
"handle."
msgstr ""
#: ../../c-api/type.rst:225
msgid ""
"Return the type's name. Equivalent to getting the type's :attr:`~type."
"__name__` attribute."
msgstr ""
#: ../../c-api/type.rst:233
msgid ""
"Return the type's qualified name. Equivalent to getting the type's :attr:"
"`~type.__qualname__` attribute."
msgstr ""
#: ../../c-api/type.rst:240
msgid ""
"Return the type's fully qualified name. Equivalent to ``f\"{type.__module__}."
"{type.__qualname__}\"``, or :attr:`type.__qualname__` if :attr:`type."
"__module__` is not a string or is equal to ``\"builtins\"``."
msgstr ""
#: ../../c-api/type.rst:249
msgid ""
"Return the type's module name. Equivalent to getting the :attr:`type."
"__module__` attribute."
msgstr ""
#: ../../c-api/type.rst:257
msgid ""
"Return the function pointer stored in the given slot. If the result is "
"``NULL``, this indicates that either the slot is ``NULL``, or that the "
"function was called with invalid parameters. Callers will typically cast the "
"result pointer into the appropriate function type."
msgstr ""
#: ../../c-api/type.rst:263
msgid ""
"See :c:member:`PyType_Slot.slot` for possible values of the *slot* argument."
msgstr ""
#: ../../c-api/type.rst:267
msgid ""
":c:func:`PyType_GetSlot` can now accept all types. Previously, it was "
"limited to :ref:`heap types `."
msgstr ""
#: ../../c-api/type.rst:274
msgid ""
"Return the module object associated with the given type when the type was "
"created using :c:func:`PyType_FromModuleAndSpec`."
msgstr ""
#: ../../c-api/type.rst:277 ../../c-api/type.rst:324
msgid ""
"The returned reference is :term:`borrowed ` from *type*, "
"and will be valid as long as you hold a reference to *type*. Do not release "
"it with :c:func:`Py_DECREF` or similar."
msgstr ""
#: ../../c-api/type.rst:281 ../../c-api/type.rst:302
msgid ""
"If no module is associated with the given type, sets :py:class:`TypeError` "
"and returns ``NULL``."
msgstr ""
#: ../../c-api/type.rst:284
msgid ""
"This function is usually used to get the module in which a method is "
"defined. Note that in such a method, ``PyType_GetModule(Py_TYPE(self))`` may "
"not return the intended result. ``Py_TYPE(self)`` may be a *subclass* of the "
"intended class, and subclasses are not necessarily defined in the same "
"module as their superclass. See :c:type:`PyCMethod` to get the class that "
"defines the method. See :c:func:`PyType_GetModuleByDef` for cases when :c:"
"type:`!PyCMethod` cannot be used."
msgstr ""
#: ../../c-api/type.rst:298
msgid ""
"Return the state of the module object associated with the given type. This "
"is a shortcut for calling :c:func:`PyModule_GetState()` on the result of :c:"
"func:`PyType_GetModule`."
msgstr ""
#: ../../c-api/type.rst:305
msgid ""
"If the *type* has an associated module but its state is ``NULL``, returns "
"``NULL`` without setting an exception."
msgstr ""
#: ../../c-api/type.rst:313
msgid ""
"Find the first superclass whose module was created from the given :c:type:"
"`PyModuleDef` *def*, and return that module."
msgstr ""
#: ../../c-api/type.rst:316
msgid ""
"If no module is found, raises a :py:class:`TypeError` and returns ``NULL``."
msgstr ""
#: ../../c-api/type.rst:318
msgid ""
"This function is intended to be used together with :c:func:"
"`PyModule_GetState()` to get module state from slot methods (such as :c:"
"member:`~PyTypeObject.tp_init` or :c:member:`~PyNumberMethods.nb_add`) and "
"other places where a method's defining class cannot be passed using the :c:"
"type:`PyCMethod` calling convention."
msgstr ""
#: ../../c-api/type.rst:333
msgid ""
"Find the first superclass in *type*'s :term:`method resolution order` whose :"
"c:macro:`Py_tp_token` token is equal to the given one."
msgstr ""
#: ../../c-api/type.rst:336
msgid ""
"If found, set *\\*result* to a new :term:`strong reference` to it and return "
"``1``."
msgstr ""
#: ../../c-api/type.rst:338
msgid "If not found, set *\\*result* to ``NULL`` and return ``0``."
msgstr ""
#: ../../c-api/type.rst:339
msgid ""
"On error, set *\\*result* to ``NULL`` and return ``-1`` with an exception "
"set."
msgstr ""
#: ../../c-api/type.rst:342
msgid ""
"The *result* argument may be ``NULL``, in which case *\\*result* is not set. "
"Use this if you need only the return value."
msgstr ""
#: ../../c-api/type.rst:345
msgid "The *token* argument may not be ``NULL``."
msgstr ""
#: ../../c-api/type.rst:352
msgid "Attempt to assign a version tag to the given type."
msgstr ""
#: ../../c-api/type.rst:354
msgid ""
"Returns 1 if the type already had a valid version tag or a new one was "
"assigned, or 0 if a new tag could not be assigned."
msgstr ""
#: ../../c-api/type.rst:362
msgid ""
"Return true if instances of *type* support creating weak references, false "
"otherwise. This function always succeeds. *type* must not be ``NULL``."
msgstr ""
#: ../../c-api/type.rst:366
msgid ":ref:`weakrefobjects`"
msgstr ""
#: ../../c-api/type.rst:367
msgid ":py:mod:`weakref`"
msgstr ""
#: ../../c-api/type.rst:371
msgid "Creating Heap-Allocated Types"
msgstr ""
#: ../../c-api/type.rst:373
msgid ""
"The following functions and structs are used to create :ref:`heap types "
"`."
msgstr ""
#: ../../c-api/type.rst:378
msgid ""
"Create and return a :ref:`heap type ` from the *spec* (see :c:"
"macro:`Py_TPFLAGS_HEAPTYPE`)."
msgstr ""
#: ../../c-api/type.rst:381
msgid ""
"The metaclass *metaclass* is used to construct the resulting type object. "
"When *metaclass* is ``NULL``, the metaclass is derived from *bases* (or "
"*Py_tp_base[s]* slots if *bases* is ``NULL``, see below)."
msgstr ""
#: ../../c-api/type.rst:385
msgid ""
"Metaclasses that override :c:member:`~PyTypeObject.tp_new` are not "
"supported, except if ``tp_new`` is ``NULL``."
msgstr ""
#: ../../c-api/type.rst:388
msgid ""
"The *bases* argument can be used to specify base classes; it can either be "
"only one class or a tuple of classes. If *bases* is ``NULL``, the :c:data:"
"`Py_tp_bases` slot is used instead. If that also is ``NULL``, the :c:data:"
"`Py_tp_base` slot is used instead. If that also is ``NULL``, the new type "
"derives from :class:`object`."
msgstr ""
#: ../../c-api/type.rst:394
msgid ""
"The *module* argument can be used to record the module in which the new "
"class is defined. It must be a module object or ``NULL``. If not ``NULL``, "
"the module is associated with the new type and can later be retrieved with :"
"c:func:`PyType_GetModule`. The associated module is not inherited by "
"subclasses; it must be specified for each class individually."
msgstr ""
#: ../../c-api/type.rst:401
msgid "This function calls :c:func:`PyType_Ready` on the new type."
msgstr ""
#: ../../c-api/type.rst:403
msgid ""
"Note that this function does *not* fully match the behavior of calling :py:"
"class:`type() ` or using the :keyword:`class` statement. With user-"
"provided base types or metaclasses, prefer :ref:`calling ` :py:"
"class:`type` (or the metaclass) over ``PyType_From*`` functions. "
"Specifically:"
msgstr ""
#: ../../c-api/type.rst:410
msgid ""
":py:meth:`~object.__new__` is not called on the new class (and it must be "
"set to ``type.__new__``)."
msgstr ""
#: ../../c-api/type.rst:412
msgid ":py:meth:`~object.__init__` is not called on the new class."
msgstr ""
#: ../../c-api/type.rst:413
msgid ":py:meth:`~object.__init_subclass__` is not called on any bases."
msgstr ""
#: ../../c-api/type.rst:414
msgid ":py:meth:`~object.__set_name__` is not called on new descriptors."
msgstr ""
#: ../../c-api/type.rst:421
msgid "Equivalent to ``PyType_FromMetaclass(NULL, module, spec, bases)``."
msgstr ""
#: ../../c-api/type.rst:427
msgid ""
"The function now accepts a single class as the *bases* argument and ``NULL`` "
"as the ``tp_doc`` slot."
msgstr ""
#: ../../c-api/type.rst:432 ../../c-api/type.rst:454
msgid ""
"The function now finds and uses a metaclass corresponding to the provided "
"base classes. Previously, only :class:`type` instances were returned."
msgstr ""
#: ../../c-api/type.rst:435 ../../c-api/type.rst:457 ../../c-api/type.rst:478
msgid ""
"The :c:member:`~PyTypeObject.tp_new` of the metaclass is *ignored*. which "
"may result in incomplete initialization. Creating classes whose metaclass "
"overrides :c:member:`~PyTypeObject.tp_new` is deprecated."
msgstr ""
#: ../../c-api/type.rst:442 ../../c-api/type.rst:464 ../../c-api/type.rst:485
msgid ""
"Creating classes whose metaclass overrides :c:member:`~PyTypeObject.tp_new` "
"is no longer allowed."
msgstr ""
#: ../../c-api/type.rst:448
msgid "Equivalent to ``PyType_FromMetaclass(NULL, NULL, spec, bases)``."
msgstr ""
#: ../../c-api/type.rst:470
msgid "Equivalent to ``PyType_FromMetaclass(NULL, NULL, spec, NULL)``."
msgstr ""
#: ../../c-api/type.rst:474
msgid ""
"The function now finds and uses a metaclass corresponding to the base "
"classes provided in *Py_tp_base[s]* slots. Previously, only :class:`type` "
"instances were returned."
msgstr ""
#: ../../c-api/type.rst:491
msgid ""
"Make a type immutable: set the :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` flag."
msgstr ""
#: ../../c-api/type.rst:493
msgid "All base classes of *type* must be immutable."
msgstr ""
#: ../../c-api/type.rst:495
msgid "On success, return ``0``. On error, set an exception and return ``-1``."
msgstr ""
#: ../../c-api/type.rst:498
msgid ""
"The type must not be used before it's made immutable. For example, type "
"instances must not be created before the type is made immutable."
msgstr ""
#: ../../c-api/type.rst:514
msgid "Structure defining a type's behavior."
msgstr ""
#: ../../c-api/type.rst:518
msgid "Name of the type, used to set :c:member:`PyTypeObject.tp_name`."
msgstr ""
#: ../../c-api/type.rst:522
msgid ""
"If positive, specifies the size of the instance in bytes. It is used to set :"
"c:member:`PyTypeObject.tp_basicsize`."
msgstr ""
#: ../../c-api/type.rst:525
msgid ""
"If zero, specifies that :c:member:`~PyTypeObject.tp_basicsize` should be "
"inherited."
msgstr ""
#: ../../c-api/type.rst:528
msgid ""
"If negative, the absolute value specifies how much space instances of the "
"class need *in addition* to the superclass. Use :c:func:"
"`PyObject_GetTypeData` to get a pointer to subclass-specific memory reserved "
"this way. For negative :c:member:`!basicsize`, Python will insert padding "
"when needed to meet :c:member:`~PyTypeObject.tp_basicsize`'s alignment "
"requirements."
msgstr ""
#: ../../c-api/type.rst:538
msgid "Previously, this field could not be negative."
msgstr ""
#: ../../c-api/type.rst:542
msgid ""
"Size of one element of a variable-size type, in bytes. Used to set :c:member:"
"`PyTypeObject.tp_itemsize`. See ``tp_itemsize`` documentation for caveats."
msgstr ""
#: ../../c-api/type.rst:546
msgid ""
"If zero, :c:member:`~PyTypeObject.tp_itemsize` is inherited. Extending "
"arbitrary variable-sized classes is dangerous, since some types use a fixed "
"offset for variable-sized memory, which can then overlap fixed-sized memory "
"used by a subclass. To help prevent mistakes, inheriting ``itemsize`` is "
"only possible in the following situations:"
msgstr ""
#: ../../c-api/type.rst:553
msgid ""
"The base is not variable-sized (its :c:member:`~PyTypeObject.tp_itemsize` is "
"zero)."
msgstr ""
#: ../../c-api/type.rst:555
msgid ""
"The requested :c:member:`PyType_Spec.basicsize` is positive, suggesting that "
"the memory layout of the base class is known."
msgstr ""
#: ../../c-api/type.rst:557
msgid ""
"The requested :c:member:`PyType_Spec.basicsize` is zero, suggesting that the "
"subclass does not access the instance's memory directly."
msgstr ""
#: ../../c-api/type.rst:560
msgid "With the :c:macro:`Py_TPFLAGS_ITEMS_AT_END` flag."
msgstr ""
#: ../../c-api/type.rst:564
msgid "Type flags, used to set :c:member:`PyTypeObject.tp_flags`."
msgstr ""
#: ../../c-api/type.rst:566
msgid ""
"If the ``Py_TPFLAGS_HEAPTYPE`` flag is not set, :c:func:"
"`PyType_FromSpecWithBases` sets it automatically."
msgstr ""
#: ../../c-api/type.rst:571
msgid ""
"Array of :c:type:`PyType_Slot` structures. Terminated by the special slot "
"value ``{0, NULL}``."
msgstr ""
#: ../../c-api/type.rst:574
msgid "Each slot ID should be specified at most once."
msgstr ""
#: ../../c-api/type.rst:584
msgid ""
"Structure defining optional functionality of a type, containing a slot ID "
"and a value pointer."
msgstr ""
#: ../../c-api/type.rst:589
msgid "A slot ID."
msgstr ""
#: ../../c-api/type.rst:591
msgid ""
"Slot IDs are named like the field names of the structures :c:type:"
"`PyTypeObject`, :c:type:`PyNumberMethods`, :c:type:`PySequenceMethods`, :c:"
"type:`PyMappingMethods` and :c:type:`PyAsyncMethods` with an added ``Py_`` "
"prefix. For example, use:"
msgstr ""
#: ../../c-api/type.rst:597
msgid ":c:data:`Py_tp_dealloc` to set :c:member:`PyTypeObject.tp_dealloc`"
msgstr ""
#: ../../c-api/type.rst:598
msgid ":c:data:`Py_nb_add` to set :c:member:`PyNumberMethods.nb_add`"
msgstr ""
#: ../../c-api/type.rst:599
msgid ":c:data:`Py_sq_length` to set :c:member:`PySequenceMethods.sq_length`"
msgstr ""
#: ../../c-api/type.rst:601
msgid ""
"An additional slot is supported that does not correspond to a :c:type:`!"
"PyTypeObject` struct field:"
msgstr ""
#: ../../c-api/type.rst:604
msgid ":c:data:`Py_tp_token`"
msgstr ""
#: ../../c-api/type.rst:606
msgid ""
"The following offset fields cannot be set using :c:type:`PyType_Slot`:"
msgstr ""
#: ../../c-api/type.rst:608
msgid ""
":c:member:`~PyTypeObject.tp_weaklistoffset` (use :c:macro:"
"`Py_TPFLAGS_MANAGED_WEAKREF` instead if possible)"
msgstr ""
#: ../../c-api/type.rst:610
msgid ""
":c:member:`~PyTypeObject.tp_dictoffset` (use :c:macro:"
"`Py_TPFLAGS_MANAGED_DICT` instead if possible)"
msgstr ""
#: ../../c-api/type.rst:612
msgid ""
":c:member:`~PyTypeObject.tp_vectorcall_offset` (use "
"``\"__vectorcalloffset__\"`` in :ref:`PyMemberDef `)"
msgstr ""
#: ../../c-api/type.rst:616
msgid ""
"If it is not possible to switch to a ``MANAGED`` flag (for example, for "
"vectorcall or to support Python older than 3.12), specify the offset in :c:"
"data:`Py_tp_members`. See :ref:`PyMemberDef documentation ` for details."
msgstr ""
#: ../../c-api/type.rst:622
msgid ""
"The following internal fields cannot be set at all when creating a heap type:"
msgstr ""
#: ../../c-api/type.rst:625
msgid ""
":c:member:`~PyTypeObject.tp_dict`, :c:member:`~PyTypeObject.tp_mro`, :c:"
"member:`~PyTypeObject.tp_cache`, :c:member:`~PyTypeObject.tp_subclasses`, "
"and :c:member:`~PyTypeObject.tp_weaklist`."
msgstr ""
#: ../../c-api/type.rst:631
msgid ""
"Setting :c:data:`Py_tp_bases` or :c:data:`Py_tp_base` may be problematic on "
"some platforms. To avoid issues, use the *bases* argument of :c:func:"
"`PyType_FromSpecWithBases` instead."
msgstr ""
#: ../../c-api/type.rst:636
msgid "Slots in :c:type:`PyBufferProcs` may be set in the unlimited API."
msgstr ""
#: ../../c-api/type.rst:639
msgid ""
":c:member:`~PyBufferProcs.bf_getbuffer` and :c:member:`~PyBufferProcs."
"bf_releasebuffer` are now available under the :ref:`limited API `."
msgstr ""
#: ../../c-api/type.rst:644
msgid ""
"The field :c:member:`~PyTypeObject.tp_vectorcall` can now be set using :c:"
"data:`Py_tp_vectorcall`. See the field's documentation for details."
msgstr ""
#: ../../c-api/type.rst:651
msgid ""
"The desired value of the slot. In most cases, this is a pointer to a "
"function."
msgstr ""
#: ../../c-api/type.rst:654
msgid "*pfunc* values may not be ``NULL``, except for the following slots:"
msgstr ""
#: ../../c-api/type.rst:656
msgid ":c:data:`Py_tp_doc`"
msgstr ""
#: ../../c-api/type.rst:657
msgid ""
":c:data:`Py_tp_token` (for clarity, prefer :c:data:`Py_TP_USE_SPEC` rather "
"than ``NULL``)"
msgstr ""
#: ../../c-api/type.rst:663
msgid ""
"A :c:member:`~PyType_Slot.slot` that records a static memory layout ID for a "
"class."
msgstr ""
#: ../../c-api/type.rst:666
msgid ""
"If the :c:type:`PyType_Spec` of the class is statically allocated, the token "
"can be set to the spec using the special value :c:data:`Py_TP_USE_SPEC`:"
msgstr ""
#: ../../c-api/type.rst:670
msgid ""
"static PyType_Slot foo_slots[] = {\n"
" {Py_tp_token, Py_TP_USE_SPEC},"
msgstr ""
#: ../../c-api/type.rst:675
msgid "It can also be set to an arbitrary pointer, but you must ensure that:"
msgstr ""
#: ../../c-api/type.rst:677
msgid ""
"The pointer outlives the class, so it's not reused for something else while "
"the class exists."
msgstr ""
#: ../../c-api/type.rst:679
msgid ""
"It \"belongs\" to the extension module where the class lives, so it will not "
"clash with other extensions."
msgstr ""
#: ../../c-api/type.rst:682
msgid ""
"Use :c:func:`PyType_GetBaseByToken` to check if a class's superclass has a "
"given token -- that is, check whether the memory layout is compatible."
msgstr ""
#: ../../c-api/type.rst:685
msgid ""
"To get the token for a given class (without considering superclasses), use :"
"c:func:`PyType_GetSlot` with ``Py_tp_token``."
msgstr ""
#: ../../c-api/type.rst:694
msgid ""
"Used as a value with :c:data:`Py_tp_token` to set the token to the class's :"
"c:type:`PyType_Spec`. Expands to ``NULL``."
msgstr ""
#: ../../c-api/type.rst:8
msgid "object"
msgstr ""
#: ../../c-api/type.rst:8
msgid "type"
msgstr "Typ"