# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2018-02-15 00:33+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: c-api/type.rst:6
msgid "Type Objects"
msgstr "Objets type"

#: 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 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 ""
"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:62
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:68
msgid ""
"Return true if the type object includes support for the cycle detector; this "
"tests the type flag :const:`Py_TPFLAGS_HAVE_GC`."
msgstr ""

#: c-api/type.rst:74
msgid "Return true if *a* is a subtype of *b*."
msgstr ""

#: c-api/type.rst:76
msgid ""
"This function only checks for actual subtypes, which means that :meth:"
"`~class.__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:84
msgid ""
"Generic handler for the :c:member:`~PyTypeObject.tp_alloc` slot of a type "
"object.  Use Python's default memory allocation mechanism to allocate a new "
"instance and initialize all its contents to ``NULL``."
msgstr ""

#: c-api/type.rst:90
msgid ""
"Generic handler for the :c:member:`~PyTypeObject.tp_new` slot of a type "
"object.  Create a new instance using the type's :c:member:`~PyTypeObject."
"tp_alloc` slot."
msgstr ""

#: c-api/type.rst:95
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:101
msgid ""
"If some of the base classes implements the GC protocol and the provided type "
"does not include the :const:`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 :const:`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:111
msgid ""
"Return the type's name. Equivalent to getting the type's ``__name__`` "
"attribute."
msgstr ""

#: c-api/type.rst:117
msgid ""
"Return the type's qualified name. Equivalent to getting the type's "
"``__qualname__`` attribute."
msgstr ""

#: c-api/type.rst:124
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:130
msgid ""
"See :c:member:`PyType_Slot.slot` for possible values of the *slot* argument."
msgstr ""

#: c-api/type.rst:134
msgid ""
":c:func:`PyType_GetSlot` can now accept all types. Previously, it was "
"limited to :ref:`heap types <heap-types>`."
msgstr ""

#: c-api/type.rst:140
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:163
msgid ""
"If no module is associated with the given type, sets :py:class:`TypeError` "
"and returns ``NULL``."
msgstr ""

#: c-api/type.rst:146
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 "
"``PyCMethod`` cannot be used."
msgstr ""

#: c-api/type.rst:159
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:166
msgid ""
"If the *type* has an associated module but its state is ``NULL``, returns "
"``NULL`` without setting an exception."
msgstr ""

#: c-api/type.rst:173
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:176
msgid ""
"If no module is found, raises a :py:class:`TypeError` and returns ``NULL``."
msgstr ""

#: c-api/type.rst:178
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:188
msgid "Creating Heap-Allocated Types"
msgstr ""

#: c-api/type.rst:190
msgid ""
"The following functions and structs are used to create :ref:`heap types "
"<heap-types>`."
msgstr ""

#: c-api/type.rst:195
msgid ""
"Creates and returns a :ref:`heap type <heap-types>` from the *spec* (:const:"
"`Py_TPFLAGS_HEAPTYPE`)."
msgstr ""

#: c-api/type.rst:198
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 "
"*Py_tp_bases* slot is used instead. If that also is ``NULL``, the "
"*Py_tp_base* slot is used instead. If that also is ``NULL``, the new type "
"derives from :class:`object`."
msgstr ""

#: c-api/type.rst:204
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:211
msgid "This function calls :c:func:`PyType_Ready` on the new type."
msgstr ""

#: c-api/type.rst:217
msgid ""
"The function now accepts a single class as the *bases* argument and ``NULL`` "
"as the ``tp_doc`` slot."
msgstr ""

#: c-api/type.rst:222
msgid "Equivalent to ``PyType_FromModuleAndSpec(NULL, spec, bases)``."
msgstr ""

#: c-api/type.rst:228
msgid "Equivalent to ``PyType_FromSpecWithBases(spec, NULL)``."
msgstr ""

#: c-api/type.rst:232
msgid "Structure defining a type's behavior."
msgstr ""

#: c-api/type.rst:236
msgid "Name of the type, used to set :c:member:`PyTypeObject.tp_name`."
msgstr ""

#: c-api/type.rst:241
msgid ""
"Size of the instance in bytes, used to set :c:member:`PyTypeObject."
"tp_basicsize` and :c:member:`PyTypeObject.tp_itemsize`."
msgstr ""

#: c-api/type.rst:247
msgid "Type flags, used to set :c:member:`PyTypeObject.tp_flags`."
msgstr ""

#: c-api/type.rst:249
msgid ""
"If the ``Py_TPFLAGS_HEAPTYPE`` flag is not set, :c:func:"
"`PyType_FromSpecWithBases` sets it automatically."
msgstr ""

#: c-api/type.rst:254
msgid ""
"Array of :c:type:`PyType_Slot` structures. Terminated by the special slot "
"value ``{0, NULL}``."
msgstr ""

#: c-api/type.rst:259
msgid ""
"Structure defining optional functionality of a type, containing a slot ID "
"and a value pointer."
msgstr ""

#: c-api/type.rst:264
msgid "A slot ID."
msgstr ""

#: c-api/type.rst:266
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:272
msgid "``Py_tp_dealloc`` to set :c:member:`PyTypeObject.tp_dealloc`"
msgstr ""

#: c-api/type.rst:273
msgid "``Py_nb_add`` to set :c:member:`PyNumberMethods.nb_add`"
msgstr ""

#: c-api/type.rst:274
msgid "``Py_sq_length`` to set :c:member:`PySequenceMethods.sq_length`"
msgstr ""

#: c-api/type.rst:276
msgid ""
"The following fields cannot be set at all using :c:type:`PyType_Spec` and :c:"
"type:`PyType_Slot`:"
msgstr ""

#: c-api/type.rst:279
msgid ":c:member:`~PyTypeObject.tp_dict`"
msgstr ""

#: c-api/type.rst:280
msgid ":c:member:`~PyTypeObject.tp_mro`"
msgstr ""

#: c-api/type.rst:281
msgid ":c:member:`~PyTypeObject.tp_cache`"
msgstr ""

#: c-api/type.rst:282
msgid ":c:member:`~PyTypeObject.tp_subclasses`"
msgstr ""

#: c-api/type.rst:283
msgid ":c:member:`~PyTypeObject.tp_weaklist`"
msgstr ""

#: c-api/type.rst:284
msgid ":c:member:`~PyTypeObject.tp_vectorcall`"
msgstr ""

#: c-api/type.rst:285
msgid ""
":c:member:`~PyTypeObject.tp_weaklistoffset` (see :ref:`PyMemberDef "
"<pymemberdef-offsets>`)"
msgstr ""

#: c-api/type.rst:287
msgid ""
":c:member:`~PyTypeObject.tp_dictoffset` (see :ref:`PyMemberDef <pymemberdef-"
"offsets>`)"
msgstr ""

#: c-api/type.rst:289
msgid ""
":c:member:`~PyTypeObject.tp_vectorcall_offset` (see :ref:`PyMemberDef "
"<pymemberdef-offsets>`)"
msgstr ""

#: c-api/type.rst:292
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 :py:func:"
"`PyType_FromSpecWithBases` instead."
msgstr ""

#: c-api/type.rst:299
msgid "Slots in :c:type:`PyBufferProcs` may be set in the unlimited API."
msgstr ""

#: c-api/type.rst:301
msgid ""
":c:member:`~PyBufferProcs.bf_getbuffer` and :c:member:`~PyBufferProcs."
"bf_releasebuffer` are now available under the limited API."
msgstr ""

#: c-api/type.rst:308
msgid ""
"The desired value of the slot. In most cases, this is a pointer to a "
"function."
msgstr ""

#: c-api/type.rst:311
msgid "Slots other than ``Py_tp_doc`` may not be ``NULL``."
msgstr ""
