# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-06-19 22:32+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/c-api/structures.rst:6 msgid "Common Object Structures" msgstr "" #: ../Doc/c-api/structures.rst:8 msgid "" "There are a large number of structures which are used in the definition of " "object types for Python. This section describes these structures and how " "they are used." msgstr "" #: ../Doc/c-api/structures.rst:12 msgid "" "All Python objects ultimately share a small number of fields at the " "beginning of the object's representation in memory. These are represented " "by the :c:type:`PyObject` and :c:type:`PyVarObject` types, which are " "defined, in turn, by the expansions of some macros also used, whether " "directly or indirectly, in the definition of all other Python objects." msgstr "" #: ../Doc/c-api/structures.rst:21 msgid "" "All object types are extensions of this type. This is a type which contains " "the information Python needs to treat a pointer to an object as an object. " "In a normal \"release\" build, it contains only the object's reference count " "and a pointer to the corresponding type object. Nothing is actually declared " "to be a :c:type:`PyObject`, but every pointer to a Python object can be cast " "to a :c:type:`PyObject*`. Access to the members must be done by using the " "macros :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`." msgstr "" #: ../Doc/c-api/structures.rst:33 msgid "" "This is an extension of :c:type:`PyObject` that adds the :attr:`ob_size` " "field. This is only used for objects that have some notion of *length*. " "This type does not often appear in the Python/C API. Access to the members " "must be done by using the macros :c:macro:`Py_REFCNT`, :c:macro:`Py_TYPE`, " "and :c:macro:`Py_SIZE`." msgstr "" #: ../Doc/c-api/structures.rst:42 msgid "" "This is a macro used when declaring new types which represent objects " "without a varying length. The PyObject_HEAD macro expands to::" msgstr "" #: ../Doc/c-api/structures.rst:47 msgid "See documentation of :c:type:`PyObject` above." msgstr "" #: ../Doc/c-api/structures.rst:52 msgid "" "This is a macro used when declaring new types which represent objects with a " "length that varies from instance to instance. The PyObject_VAR_HEAD macro " "expands to::" msgstr "" #: ../Doc/c-api/structures.rst:58 msgid "See documentation of :c:type:`PyVarObject` above." msgstr "" #: ../Doc/c-api/structures.rst:63 msgid "" "This macro is used to access the :attr:`ob_type` member of a Python object. " "It expands to::" msgstr "" #: ../Doc/c-api/structures.rst:71 msgid "" "This macro is used to access the :attr:`ob_refcnt` member of a Python " "object. It expands to::" msgstr "" #: ../Doc/c-api/structures.rst:80 msgid "" "This macro is used to access the :attr:`ob_size` member of a Python object. " "It expands to::" msgstr "" #: ../Doc/c-api/structures.rst:88 msgid "" "This is a macro which expands to initialization values for a new :c:type:" "`PyObject` type. This macro expands to::" msgstr "" #: ../Doc/c-api/structures.rst:97 msgid "" "This is a macro which expands to initialization values for a new :c:type:" "`PyVarObject` type, including the :attr:`ob_size` field. This macro expands " "to::" msgstr "" #: ../Doc/c-api/structures.rst:107 msgid "" "Type of the functions used to implement most Python callables in C. " "Functions of this type take two :c:type:`PyObject\\*` parameters and return " "one such value. If the return value is *NULL*, an exception shall have been " "set. If not *NULL*, the return value is interpreted as the return value of " "the function as exposed in Python. The function must return a new reference." msgstr "" #: ../Doc/c-api/structures.rst:117 msgid "" "Type of the functions used to implement Python callables in C with " "signature :const:`METH_VARARGS | METH_KEYWORDS`." msgstr "" #: ../Doc/c-api/structures.rst:123 msgid "" "Type of the functions used to implement Python callables in C with " "signature :const:`METH_FASTCALL`." msgstr "" #: ../Doc/c-api/structures.rst:129 msgid "" "Type of the functions used to implement Python callables in C with " "signature :const:`METH_FASTCALL | METH_KEYWORDS`." msgstr "" #: ../Doc/c-api/structures.rst:135 msgid "" "Structure used to describe a method of an extension type. This structure " "has four fields:" msgstr "" #: ../Doc/c-api/structures.rst:139 ../Doc/c-api/structures.rst:279 #: ../Doc/c-api/structures.rst:345 msgid "Field" msgstr "" #: ../Doc/c-api/structures.rst:139 ../Doc/c-api/structures.rst:279 #: ../Doc/c-api/structures.rst:345 msgid "C Type" msgstr "Type C" #: ../Doc/c-api/structures.rst:139 ../Doc/c-api/structures.rst:279 #: ../Doc/c-api/structures.rst:345 msgid "Meaning" msgstr "Signification" #: ../Doc/c-api/structures.rst:141 msgid ":attr:`ml_name`" msgstr "" #: ../Doc/c-api/structures.rst:141 ../Doc/c-api/structures.rst:149 #: ../Doc/c-api/structures.rst:281 ../Doc/c-api/structures.rst:294 #: ../Doc/c-api/structures.rst:310 ../Doc/c-api/structures.rst:347 #: ../Doc/c-api/structures.rst:355 msgid "const char \\*" msgstr "" #: ../Doc/c-api/structures.rst:141 msgid "name of the method" msgstr "" #: ../Doc/c-api/structures.rst:143 msgid ":attr:`ml_meth`" msgstr "" #: ../Doc/c-api/structures.rst:143 msgid "PyCFunction" msgstr "PyCFunction" #: ../Doc/c-api/structures.rst:143 msgid "pointer to the C implementation" msgstr "" #: ../Doc/c-api/structures.rst:146 msgid ":attr:`ml_flags`" msgstr "" #: ../Doc/c-api/structures.rst:146 ../Doc/c-api/structures.rst:283 #: ../Doc/c-api/structures.rst:290 ../Doc/c-api/structures.rst:306 msgid "int" msgstr "*int*" #: ../Doc/c-api/structures.rst:146 msgid "flag bits indicating how the call should be constructed" msgstr "" #: ../Doc/c-api/structures.rst:149 msgid ":attr:`ml_doc`" msgstr "" #: ../Doc/c-api/structures.rst:149 ../Doc/c-api/structures.rst:294 msgid "points to the contents of the docstring" msgstr "" #: ../Doc/c-api/structures.rst:153 msgid "" "The :attr:`ml_meth` is a C function pointer. The functions may be of " "different types, but they always return :c:type:`PyObject\\*`. If the " "function is not of the :c:type:`PyCFunction`, the compiler will require a " "cast in the method table. Even though :c:type:`PyCFunction` defines the " "first parameter as :c:type:`PyObject\\*`, it is common that the method " "implementation uses the specific C type of the *self* object." msgstr "" #: ../Doc/c-api/structures.rst:160 msgid "" "The :attr:`ml_flags` field is a bitfield which can include the following " "flags. The individual flags indicate either a calling convention or a " "binding convention." msgstr "" #: ../Doc/c-api/structures.rst:164 msgid "" "There are four basic calling conventions for positional arguments and two of " "them can be combined with :const:`METH_KEYWORDS` to support also keyword " "arguments. So there are a total of 6 calling conventions:" msgstr "" #: ../Doc/c-api/structures.rst:170 msgid "" "This is the typical calling convention, where the methods have the type :c:" "type:`PyCFunction`. The function expects two :c:type:`PyObject\\*` values. " "The first one is the *self* object for methods; for module functions, it is " "the module object. The second parameter (often called *args*) is a tuple " "object representing all arguments. This parameter is typically processed " "using :c:func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`." msgstr "" #: ../Doc/c-api/structures.rst:180 msgid "" "Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. " "The function expects three parameters: *self*, *args*, *kwargs* where " "*kwargs* is a dictionary of all the keyword arguments or possibly *NULL* if " "there are no keyword arguments. The parameters are typically processed " "using :c:func:`PyArg_ParseTupleAndKeywords`." msgstr "" #: ../Doc/c-api/structures.rst:189 msgid "" "Fast calling convention supporting only positional arguments. The methods " "have the type :c:type:`_PyCFunctionFast`. The first parameter is *self*, the " "second parameter is a C array of :c:type:`PyObject\\*` values indicating the " "arguments and the third parameter is the number of arguments (the length of " "the array)." msgstr "" #: ../Doc/c-api/structures.rst:195 ../Doc/c-api/structures.rst:210 msgid "This is not part of the :ref:`limited API `." msgstr "" #: ../Doc/c-api/structures.rst:202 msgid "" "Extension of :const:`METH_FASTCALL` supporting also keyword arguments, with " "methods of type :c:type:`_PyCFunctionFastWithKeywords`. Keyword arguments " "are passed the same way as in the vectorcall protocol: there is an " "additional fourth :c:type:`PyObject\\*` parameter which is a tuple " "representing the names of the keyword arguments or possibly *NULL* if there " "are no keywords. The values of the keyword arguments are stored in the " "*args* array, after the positional arguments." msgstr "" #: ../Doc/c-api/structures.rst:217 msgid "" "Methods without parameters don't need to check whether arguments are given " "if they are listed with the :const:`METH_NOARGS` flag. They need to be of " "type :c:type:`PyCFunction`. The first parameter is typically named *self* " "and will hold a reference to the module or object instance. In all cases " "the second parameter will be *NULL*." msgstr "" #: ../Doc/c-api/structures.rst:226 msgid "" "Methods with a single object argument can be listed with the :const:`METH_O` " "flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``\"O\"`` " "argument. They have the type :c:type:`PyCFunction`, with the *self* " "parameter, and a :c:type:`PyObject\\*` parameter representing the single " "argument." msgstr "" #: ../Doc/c-api/structures.rst:232 msgid "" "These two constants are not used to indicate the calling convention but the " "binding when use with methods of classes. These may not be used for " "functions defined for modules. At most one of these flags may be set for " "any given method." msgstr "" #: ../Doc/c-api/structures.rst:242 msgid "" "The method will be passed the type object as the first parameter rather than " "an instance of the type. This is used to create *class methods*, similar to " "what is created when using the :func:`classmethod` built-in function." msgstr "" #: ../Doc/c-api/structures.rst:252 msgid "" "The method will be passed *NULL* as the first parameter rather than an " "instance of the type. This is used to create *static methods*, similar to " "what is created when using the :func:`staticmethod` built-in function." msgstr "" #: ../Doc/c-api/structures.rst:256 msgid "" "One other constant controls whether a method is loaded in place of another " "definition with the same method name." msgstr "" #: ../Doc/c-api/structures.rst:262 msgid "" "The method will be loaded in place of existing definitions. Without " "*METH_COEXIST*, the default is to skip repeated definitions. Since slot " "wrappers are loaded before the method table, the existence of a " "*sq_contains* slot, for example, would generate a wrapped method named :meth:" "`__contains__` and preclude the loading of a corresponding PyCFunction with " "the same name. With the flag defined, the PyCFunction will be loaded in " "place of the wrapper object and will co-exist with the slot. This is " "helpful because calls to PyCFunctions are optimized more than wrapper object " "calls." msgstr "" #: ../Doc/c-api/structures.rst:275 msgid "" "Structure which describes an attribute of a type which corresponds to a C " "struct member. Its fields are:" msgstr "" #: ../Doc/c-api/structures.rst:281 msgid ":attr:`name`" msgstr "" #: ../Doc/c-api/structures.rst:281 msgid "name of the member" msgstr "" #: ../Doc/c-api/structures.rst:283 msgid ":attr:`!type`" msgstr "" #: ../Doc/c-api/structures.rst:283 msgid "the type of the member in the C struct" msgstr "" #: ../Doc/c-api/structures.rst:286 msgid ":attr:`offset`" msgstr "" #: ../Doc/c-api/structures.rst:286 ../Doc/c-api/structures.rst:322 msgid "Py_ssize_t" msgstr "" #: ../Doc/c-api/structures.rst:286 msgid "" "the offset in bytes that the member is located on the type's object struct" msgstr "" #: ../Doc/c-api/structures.rst:290 msgid ":attr:`flags`" msgstr "" #: ../Doc/c-api/structures.rst:290 msgid "flag bits indicating if the field should be read-only or writable" msgstr "" #: ../Doc/c-api/structures.rst:294 msgid ":attr:`doc`" msgstr "" #: ../Doc/c-api/structures.rst:298 msgid "" ":attr:`!type` can be one of many ``T_`` macros corresponding to various C " "types. When the member is accessed in Python, it will be converted to the " "equivalent Python type." msgstr "" #: ../Doc/c-api/structures.rst:303 msgid "Macro name" msgstr "" #: ../Doc/c-api/structures.rst:303 msgid "C type" msgstr "Type C" #: ../Doc/c-api/structures.rst:305 msgid "T_SHORT" msgstr "" #: ../Doc/c-api/structures.rst:305 msgid "short" msgstr "" #: ../Doc/c-api/structures.rst:306 msgid "T_INT" msgstr "" #: ../Doc/c-api/structures.rst:307 msgid "T_LONG" msgstr "" #: ../Doc/c-api/structures.rst:307 msgid "long" msgstr "" #: ../Doc/c-api/structures.rst:308 msgid "T_FLOAT" msgstr "" #: ../Doc/c-api/structures.rst:308 msgid "float" msgstr "*float*" #: ../Doc/c-api/structures.rst:309 msgid "T_DOUBLE" msgstr "" #: ../Doc/c-api/structures.rst:309 msgid "double" msgstr "double" #: ../Doc/c-api/structures.rst:310 msgid "T_STRING" msgstr "" #: ../Doc/c-api/structures.rst:311 msgid "T_OBJECT" msgstr "" #: ../Doc/c-api/structures.rst:311 ../Doc/c-api/structures.rst:312 msgid "PyObject \\*" msgstr "PyObject \\*" #: ../Doc/c-api/structures.rst:312 msgid "T_OBJECT_EX" msgstr "" #: ../Doc/c-api/structures.rst:313 msgid "T_CHAR" msgstr "" #: ../Doc/c-api/structures.rst:313 ../Doc/c-api/structures.rst:314 #: ../Doc/c-api/structures.rst:319 msgid "char" msgstr "char" #: ../Doc/c-api/structures.rst:314 msgid "T_BYTE" msgstr "" #: ../Doc/c-api/structures.rst:315 msgid "T_UBYTE" msgstr "" #: ../Doc/c-api/structures.rst:315 msgid "unsigned char" msgstr "``unsigned char``" #: ../Doc/c-api/structures.rst:316 msgid "T_UINT" msgstr "" #: ../Doc/c-api/structures.rst:316 msgid "unsigned int" msgstr "``unsigned int``" #: ../Doc/c-api/structures.rst:317 msgid "T_USHORT" msgstr "" #: ../Doc/c-api/structures.rst:317 msgid "unsigned short" msgstr "``unsigned short``" #: ../Doc/c-api/structures.rst:318 msgid "T_ULONG" msgstr "" #: ../Doc/c-api/structures.rst:318 msgid "unsigned long" msgstr "``unsigned long``" #: ../Doc/c-api/structures.rst:319 msgid "T_BOOL" msgstr "" #: ../Doc/c-api/structures.rst:320 msgid "T_LONGLONG" msgstr "" #: ../Doc/c-api/structures.rst:320 msgid "long long" msgstr "" #: ../Doc/c-api/structures.rst:321 msgid "T_ULONGLONG" msgstr "" #: ../Doc/c-api/structures.rst:321 msgid "unsigned long long" msgstr "``unsigned long long``" #: ../Doc/c-api/structures.rst:322 msgid "T_PYSSIZET" msgstr "" #: ../Doc/c-api/structures.rst:325 msgid "" ":c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` differ in that :c:macro:" "`T_OBJECT` returns ``None`` if the member is *NULL* and :c:macro:" "`T_OBJECT_EX` raises an :exc:`AttributeError`. Try to use :c:macro:" "`T_OBJECT_EX` over :c:macro:`T_OBJECT` because :c:macro:`T_OBJECT_EX` " "handles use of the :keyword:`del` statement on that attribute more correctly " "than :c:macro:`T_OBJECT`." msgstr "" #: ../Doc/c-api/structures.rst:332 msgid "" ":attr:`flags` can be ``0`` for write and read access or :c:macro:`READONLY` " "for read-only access. Using :c:macro:`T_STRING` for :attr:`type` implies :c:" "macro:`READONLY`. :c:macro:`T_STRING` data is interpreted as UTF-8. Only :c:" "macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` members can be deleted. (They " "are set to *NULL*)." msgstr "" #: ../Doc/c-api/structures.rst:341 msgid "" "Structure to define property-like access for a type. See also description of " "the :c:member:`PyTypeObject.tp_getset` slot." msgstr "" #: ../Doc/c-api/structures.rst:347 msgid "name" msgstr "" #: ../Doc/c-api/structures.rst:347 msgid "attribute name" msgstr "" #: ../Doc/c-api/structures.rst:349 msgid "get" msgstr "" #: ../Doc/c-api/structures.rst:349 msgid "getter" msgstr "" #: ../Doc/c-api/structures.rst:349 msgid "C Function to get the attribute" msgstr "" #: ../Doc/c-api/structures.rst:351 msgid "set" msgstr "" #: ../Doc/c-api/structures.rst:351 msgid "setter" msgstr "" #: ../Doc/c-api/structures.rst:351 msgid "" "optional C function to set or delete the attribute, if omitted the attribute " "is readonly" msgstr "" #: ../Doc/c-api/structures.rst:355 msgid "doc" msgstr "" #: ../Doc/c-api/structures.rst:355 msgid "optional docstring" msgstr "" #: ../Doc/c-api/structures.rst:357 msgid "closure" msgstr "" #: ../Doc/c-api/structures.rst:357 msgid "void \\*" msgstr "" #: ../Doc/c-api/structures.rst:357 msgid "" "optional function pointer, providing additional data for getter and setter" msgstr "" #: ../Doc/c-api/structures.rst:362 msgid "" "The ``get`` function takes one :c:type:`PyObject\\*` parameter (the " "instance) and a function pointer (the associated ``closure``)::" msgstr "" #: ../Doc/c-api/structures.rst:367 msgid "" "It should return a new reference on success or *NULL* with a set exception " "on failure." msgstr "" #: ../Doc/c-api/structures.rst:370 msgid "" "``set`` functions take two :c:type:`PyObject\\*` parameters (the instance " "and the value to be set) and a function pointer (the associated " "``closure``)::" msgstr "" #: ../Doc/c-api/structures.rst:375 msgid "" "In case the attribute should be deleted the second parameter is *NULL*. " "Should return ``0`` on success or ``-1`` with a set exception on failure." msgstr ""