forked from AFPy/python-docs-fr
561 lines
16 KiB
Plaintext
561 lines
16 KiB
Plaintext
# 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: 2020-07-20 15:07+0200\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/call.rst:6
|
||
msgid "Call Protocol"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:8
|
||
msgid ""
|
||
"CPython supports two different calling protocols: *tp_call* and vectorcall."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:12
|
||
msgid "The *tp_call* Protocol"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:14
|
||
msgid ""
|
||
"Instances of classes that set :c:member:`~PyTypeObject.tp_call` are "
|
||
"callable. The signature of the slot is::"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:19
|
||
msgid ""
|
||
"A call is made using a tuple for the positional arguments and a dict for the "
|
||
"keyword arguments, similarly to ``callable(*args, **kwargs)`` in Python "
|
||
"code. *args* must be non-NULL (use an empty tuple if there are no arguments) "
|
||
"but *kwargs* may be *NULL* if there are no keyword arguments."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:25
|
||
msgid ""
|
||
"This convention is not only used by *tp_call*: :c:member:`~PyTypeObject."
|
||
"tp_new` and :c:member:`~PyTypeObject.tp_init` also pass arguments this way."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:29
|
||
msgid ""
|
||
"To call an object, use :c:func:`PyObject_Call` or another :ref:`call API "
|
||
"<capi-call>`."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:36
|
||
msgid "The Vectorcall Protocol"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:40
|
||
msgid ""
|
||
"The vectorcall protocol was introduced in :pep:`590` as an additional "
|
||
"protocol for making calls more efficient."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:43
|
||
msgid ""
|
||
"As rule of thumb, CPython will prefer the vectorcall for internal calls if "
|
||
"the callable supports it. However, this is not a hard rule. Additionally, "
|
||
"some third-party extensions use *tp_call* directly (rather than using :c:"
|
||
"func:`PyObject_Call`). Therefore, a class supporting vectorcall must also "
|
||
"implement :c:member:`~PyTypeObject.tp_call`. Moreover, the callable must "
|
||
"behave the same regardless of which protocol is used. The recommended way to "
|
||
"achieve this is by setting :c:member:`~PyTypeObject.tp_call` to :c:func:"
|
||
"`PyVectorcall_Call`. This bears repeating:"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:57
|
||
msgid ""
|
||
"A class supporting vectorcall **must** also implement :c:member:"
|
||
"`~PyTypeObject.tp_call` with the same semantics."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:60
|
||
msgid ""
|
||
"A class should not implement vectorcall if that would be slower than "
|
||
"*tp_call*. For example, if the callee needs to convert the arguments to an "
|
||
"args tuple and kwargs dict anyway, then there is no point in implementing "
|
||
"vectorcall."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:65
|
||
msgid ""
|
||
"Classes can implement the vectorcall protocol by enabling the :const:"
|
||
"`Py_TPFLAGS_HAVE_VECTORCALL` flag and setting :c:member:`~PyTypeObject."
|
||
"tp_vectorcall_offset` to the offset inside the object structure where a "
|
||
"*vectorcallfunc* appears. This is a pointer to a function with the following "
|
||
"signature:"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:73
|
||
msgid "*callable* is the object being called."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:75
|
||
msgid ""
|
||
"*args* is a C array consisting of the positional arguments followed by the"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:75
|
||
msgid ""
|
||
"values of the keyword arguments. This can be *NULL* if there are no "
|
||
"arguments."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:79
|
||
msgid "*nargsf* is the number of positional arguments plus possibly the"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:78
|
||
msgid ""
|
||
":const:`PY_VECTORCALL_ARGUMENTS_OFFSET` flag. To get the actual number of "
|
||
"positional arguments from *nargsf*, use :c:func:`PyVectorcall_NARGS`."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:85
|
||
msgid "*kwnames* is a tuple containing the names of the keyword arguments;"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:82
|
||
msgid ""
|
||
"in other words, the keys of the kwargs dict. These names must be strings "
|
||
"(instances of ``str`` or a subclass) and they must be unique. If there are "
|
||
"no keyword arguments, then *kwnames* can instead be *NULL*."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:89
|
||
msgid ""
|
||
"If this flag is set in a vectorcall *nargsf* argument, the callee is allowed "
|
||
"to temporarily change ``args[-1]``. In other words, *args* points to "
|
||
"argument 1 (not 0) in the allocated vector. The callee must restore the "
|
||
"value of ``args[-1]`` before returning."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:94
|
||
msgid ""
|
||
"For :c:func:`PyObject_VectorcallMethod`, this flag means instead that "
|
||
"``args[0]`` may be changed."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:97
|
||
msgid ""
|
||
"Whenever they can do so cheaply (without additional allocation), callers are "
|
||
"encouraged to use :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Doing so will "
|
||
"allow callables such as bound methods to make their onward calls (which "
|
||
"include a prepended *self* argument) very efficiently."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:102
|
||
msgid ""
|
||
"To call an object that implements vectorcall, use a :ref:`call API <capi-"
|
||
"call>` function as with any other callable. :c:func:`PyObject_Vectorcall` "
|
||
"will usually be most efficient."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:109
|
||
msgid ""
|
||
"In CPython 3.8, the vectorcall API and related functions were available "
|
||
"provisionally under names with a leading underscore: "
|
||
"``_PyObject_Vectorcall``, ``_Py_TPFLAGS_HAVE_VECTORCALL``, "
|
||
"``_PyObject_VectorcallMethod``, ``_PyVectorcall_Function``, "
|
||
"``_PyObject_CallOneArg``, ``_PyObject_CallMethodNoArgs``, "
|
||
"``_PyObject_CallMethodOneArg``. Additionally, ``PyObject_VectorcallDict`` "
|
||
"was available as ``_PyObject_FastCallDict``. The old names are still defined "
|
||
"as aliases of the new, non-underscored names."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:121
|
||
msgid "Recursion Control"
|
||
msgstr "Contrôle de la récursion"
|
||
|
||
#: c-api/call.rst:123
|
||
msgid ""
|
||
"When using *tp_call*, callees do not need to worry about :ref:`recursion "
|
||
"<recursion>`: CPython uses :c:func:`Py_EnterRecursiveCall` and :c:func:"
|
||
"`Py_LeaveRecursiveCall` for calls made using *tp_call*."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:128
|
||
msgid ""
|
||
"For efficiency, this is not the case for calls done using vectorcall: the "
|
||
"callee should use *Py_EnterRecursiveCall* and *Py_LeaveRecursiveCall* if "
|
||
"needed."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:134
|
||
msgid "Vectorcall Support API"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:138
|
||
msgid ""
|
||
"Given a vectorcall *nargsf* argument, return the actual number of arguments. "
|
||
"Currently equivalent to::"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:144
|
||
msgid ""
|
||
"However, the function ``PyVectorcall_NARGS`` should be used to allow for "
|
||
"future extensions."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:161 c-api/call.rst:259 c-api/call.rst:360 c-api/call.rst:391
|
||
#: c-api/call.rst:413
|
||
msgid "This function is not part of the :ref:`limited API <stable>`."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:153
|
||
msgid ""
|
||
"If *op* does not support the vectorcall protocol (either because the type "
|
||
"does not or because the specific instance does not), return *NULL*. "
|
||
"Otherwise, return the vectorcall function pointer stored in *op*. This "
|
||
"function never raises an exception."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:158
|
||
msgid ""
|
||
"This is mostly useful to check whether or not *op* supports vectorcall, "
|
||
"which can be done by checking ``PyVectorcall_Function(op) != NULL``."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:167
|
||
msgid ""
|
||
"Call *callable*'s :c:type:`vectorcallfunc` with positional and keyword "
|
||
"arguments given in a tuple and dict, respectively."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:170
|
||
msgid ""
|
||
"This is a specialized function, intended to be put in the :c:member:"
|
||
"`~PyTypeObject.tp_call` slot or be used in an implementation of ``tp_call``. "
|
||
"It does not check the :const:`Py_TPFLAGS_HAVE_VECTORCALL` flag and it does "
|
||
"not fall back to ``tp_call``."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:183
|
||
msgid "Object Calling API"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:185
|
||
msgid ""
|
||
"Various functions are available for calling a Python object. Each converts "
|
||
"its arguments to a convention supported by the called object – either "
|
||
"*tp_call* or vectorcall. In order to do as little conversion as possible, "
|
||
"pick one that best fits the format of data you have available."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:191
|
||
msgid ""
|
||
"The following table summarizes the available functions; please see "
|
||
"individual documentation for details."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:195
|
||
msgid "Function"
|
||
msgstr "Fonction"
|
||
|
||
#: c-api/call.rst:195
|
||
msgid "callable"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:195
|
||
msgid "args"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:195
|
||
msgid "kwargs"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:197
|
||
msgid ":c:func:`PyObject_Call`"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:199 c-api/call.rst:203 c-api/call.rst:209 c-api/call.rst:219
|
||
msgid "``PyObject *``"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:197
|
||
msgid "tuple"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:219
|
||
msgid "dict/``NULL``"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:199
|
||
msgid ":c:func:`PyObject_CallNoArgs`"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:201 c-api/call.rst:205 c-api/call.rst:209 c-api/call.rst:213
|
||
#: c-api/call.rst:215
|
||
msgid "---"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:201
|
||
msgid ":c:func:`PyObject_CallOneArg`"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:215
|
||
msgid "1 object"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:203
|
||
msgid ":c:func:`PyObject_CallObject`"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:203
|
||
msgid "tuple/``NULL``"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:205
|
||
msgid ":c:func:`PyObject_CallFunction`"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:207
|
||
msgid "format"
|
||
msgstr "format"
|
||
|
||
#: c-api/call.rst:207
|
||
msgid ":c:func:`PyObject_CallMethod`"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:207
|
||
msgid "obj + ``char*``"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:209
|
||
msgid ":c:func:`PyObject_CallFunctionObjArgs`"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:211
|
||
msgid "variadic"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:211
|
||
msgid ":c:func:`PyObject_CallMethodObjArgs`"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:213 c-api/call.rst:215
|
||
msgid "obj + name"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:213
|
||
msgid ":c:func:`PyObject_CallMethodNoArgs`"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:215
|
||
msgid ":c:func:`PyObject_CallMethodOneArg`"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:217
|
||
msgid ":c:func:`PyObject_Vectorcall`"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:219 c-api/call.rst:221
|
||
msgid "vectorcall"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:219
|
||
msgid ":c:func:`PyObject_VectorcallDict`"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:221
|
||
msgid ":c:func:`PyObject_VectorcallMethod`"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:221
|
||
msgid "arg + name"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:227
|
||
msgid ""
|
||
"Call a callable Python object *callable*, with arguments given by the tuple "
|
||
"*args*, and named arguments given by the dictionary *kwargs*."
|
||
msgstr ""
|
||
"Appelle un objet Python appelable *callable*, avec des arguments donnés par "
|
||
"le *n*-uplet *args*, et des arguments nommés donnés par le dictionnaire "
|
||
"*kwargs*."
|
||
|
||
#: c-api/call.rst:230
|
||
msgid ""
|
||
"*args* must not be *NULL*; use an empty tuple if no arguments are needed. If "
|
||
"no named arguments are needed, *kwargs* can be *NULL*."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:245 c-api/call.rst:269 c-api/call.rst:301 c-api/call.rst:334
|
||
#: c-api/call.rst:357 c-api/call.rst:410
|
||
msgid ""
|
||
"Return the result of the call on success, or raise an exception and return "
|
||
"*NULL* on failure."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:236
|
||
msgid ""
|
||
"This is the equivalent of the Python expression: ``callable(*args, "
|
||
"**kwargs)``."
|
||
msgstr ""
|
||
"Ceci est l'équivalent de l'expression Python : ``callable(*args, **kwargs)``."
|
||
|
||
#: c-api/call.rst:242
|
||
msgid ""
|
||
"Call a callable Python object *callable* without any arguments. It is the "
|
||
"most efficient way to call a callable Python object without any argument."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:253
|
||
msgid ""
|
||
"Call a callable Python object *callable* with exactly 1 positional argument "
|
||
"*arg* and no keyword arguments."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:266
|
||
msgid ""
|
||
"Call a callable Python object *callable*, with arguments given by the tuple "
|
||
"*args*. If no arguments are needed, then *args* can be *NULL*."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:284
|
||
msgid "This is the equivalent of the Python expression: ``callable(*args)``."
|
||
msgstr "Ceci est l'équivalent de l'expression Python : ``callable(*args)``."
|
||
|
||
#: c-api/call.rst:277
|
||
msgid ""
|
||
"Call a callable Python object *callable*, with a variable number of C "
|
||
"arguments. The C arguments are described using a :c:func:`Py_BuildValue` "
|
||
"style format string. The format can be *NULL*, indicating that no arguments "
|
||
"are provided."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:286
|
||
msgid ""
|
||
"Note that if you only pass :c:type:`PyObject *` args, :c:func:"
|
||
"`PyObject_CallFunctionObjArgs` is a faster alternative."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:289
|
||
msgid "The type of *format* was changed from ``char *``."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:295
|
||
msgid ""
|
||
"Call the method named *name* of object *obj* with a variable number of C "
|
||
"arguments. The C arguments are described by a :c:func:`Py_BuildValue` "
|
||
"format string that should produce a tuple."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:299
|
||
msgid "The format can be *NULL*, indicating that no arguments are provided."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:304
|
||
msgid ""
|
||
"This is the equivalent of the Python expression: ``obj.name(arg1, "
|
||
"arg2, ...)``."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:307
|
||
msgid ""
|
||
"Note that if you only pass :c:type:`PyObject *` args, :c:func:"
|
||
"`PyObject_CallMethodObjArgs` is a faster alternative."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:310
|
||
msgid "The types of *name* and *format* were changed from ``char *``."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:316
|
||
msgid ""
|
||
"Call a callable Python object *callable*, with a variable number of :c:type:"
|
||
"`PyObject *` arguments. The arguments are provided as a variable number of "
|
||
"parameters followed by *NULL*."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:323
|
||
msgid ""
|
||
"This is the equivalent of the Python expression: ``callable(arg1, "
|
||
"arg2, ...)``."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:329
|
||
msgid ""
|
||
"Call a method of the Python object *obj*, where the name of the method is "
|
||
"given as a Python string object in *name*. It is called with a variable "
|
||
"number of :c:type:`PyObject *` arguments. The arguments are provided as a "
|
||
"variable number of parameters followed by *NULL*."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:340
|
||
msgid ""
|
||
"Call a method of the Python object *obj* without arguments, where the name "
|
||
"of the method is given as a Python string object in *name*."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:353
|
||
msgid ""
|
||
"Call a method of the Python object *obj* with a single positional argument "
|
||
"*arg*, where the name of the method is given as a Python string object in "
|
||
"*name*."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:367
|
||
msgid ""
|
||
"Call a callable Python object *callable*. The arguments are the same as for :"
|
||
"c:type:`vectorcallfunc`. If *callable* supports vectorcall_, this directly "
|
||
"calls the vectorcall function stored in *callable*."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:381
|
||
msgid ""
|
||
"Call *callable* with positional arguments passed exactly as in the "
|
||
"vectorcall_ protocol, but with keyword arguments passed as a dictionary "
|
||
"*kwdict*. The *args* array contains only the positional arguments."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:385
|
||
msgid ""
|
||
"Regardless of which protocol is used internally, a conversion of arguments "
|
||
"needs to be done. Therefore, this function should only be used if the caller "
|
||
"already has a dictionary ready to use for the keyword arguments, but not a "
|
||
"tuple for the positional arguments."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:397
|
||
msgid ""
|
||
"Call a method using the vectorcall calling convention. The name of the "
|
||
"method is given as a Python string *name*. The object whose method is called "
|
||
"is *args[0]*, and the *args* array starting at *args[1]* represents the "
|
||
"arguments of the call. There must be at least one positional argument. "
|
||
"*nargsf* is the number of positional arguments including *args[0]*, plus :"
|
||
"const:`PY_VECTORCALL_ARGUMENTS_OFFSET` if the value of ``args[0]`` may "
|
||
"temporarily be changed. Keyword arguments can be passed just like in :c:func:"
|
||
"`PyObject_Vectorcall`."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:406
|
||
msgid ""
|
||
"If the object has the :const:`Py_TPFLAGS_METHOD_DESCRIPTOR` feature, this "
|
||
"will call the unbound method object with the full *args* vector as arguments."
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:419
|
||
msgid "Call Support API"
|
||
msgstr ""
|
||
|
||
#: c-api/call.rst:423
|
||
msgid ""
|
||
"Determine if the object *o* is callable. Return ``1`` if the object is "
|
||
"callable and ``0`` otherwise. This function always succeeds."
|
||
msgstr ""
|
||
"Détermine si l'objet *o* est appelable. Renvoie ``1`` si c'est le cas, et "
|
||
"``0`` sinon. Cette fonction réussit toujours."
|