# SOME DESCRIPTIVE TITLE. # Copyright (C) 1990-2016, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 2.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-10-30 10:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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. It corresponds to the " "fields defined by the expansion of the ``PyObject_HEAD`` macro." msgstr "" #: ../Doc/c-api/structures.rst:31 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. It corresponds to the " "fields defined by the expansion of the ``PyObject_VAR_HEAD`` macro." msgstr "" #: ../Doc/c-api/structures.rst:36 msgid "" "These macros are used in the definition of :c:type:`PyObject` and :c:type:" "`PyVarObject`:" msgstr "" #: ../Doc/c-api/structures.rst:42 msgid "" "This is a macro which expands to the declarations of the fields of the :c:" "type:`PyObject` type; it is used when declaring new types which represent " "objects without a varying length. The specific fields it expands to depend " "on the definition of :c:macro:`Py_TRACE_REFS`. By default, that macro is " "not defined, and :c:macro:`PyObject_HEAD` expands to::" msgstr "" #: ../Doc/c-api/structures.rst:51 msgid "When :c:macro:`Py_TRACE_REFS` is defined, it expands to::" msgstr "" #: ../Doc/c-api/structures.rst:60 msgid "" "This is a macro which expands to the declarations of the fields of the :c:" "type:`PyVarObject` type; it is used when declaring new types which represent " "objects with a length that varies from instance to instance. This macro " "always expands to::" msgstr "" #: ../Doc/c-api/structures.rst:68 msgid "" "Note that :c:macro:`PyObject_HEAD` is part of the expansion, and that its " "own expansion varies depending on the definition of :c:macro:`Py_TRACE_REFS`." msgstr "" #: ../Doc/c-api/structures.rst:74 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:84 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:95 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:105 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:114 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:124 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:134 msgid "" "Structure used to describe a method of an extension type. This structure " "has four fields:" msgstr "" #: ../Doc/c-api/structures.rst:138 ../Doc/c-api/structures.rst:264 msgid "Field" msgstr "" #: ../Doc/c-api/structures.rst:138 ../Doc/c-api/structures.rst:264 msgid "C Type" msgstr "Type C" #: ../Doc/c-api/structures.rst:138 ../Doc/c-api/structures.rst:264 msgid "Meaning" msgstr "Signification" #: ../Doc/c-api/structures.rst:140 msgid ":attr:`ml_name`" msgstr "" #: ../Doc/c-api/structures.rst:140 ../Doc/c-api/structures.rst:148 #: ../Doc/c-api/structures.rst:266 ../Doc/c-api/structures.rst:279 #: ../Doc/c-api/structures.rst:295 msgid "char \\*" msgstr "" #: ../Doc/c-api/structures.rst:140 msgid "name of the method" msgstr "" #: ../Doc/c-api/structures.rst:142 msgid ":attr:`ml_meth`" msgstr "" #: ../Doc/c-api/structures.rst:142 msgid "PyCFunction" msgstr "PyCFunction" #: ../Doc/c-api/structures.rst:142 msgid "pointer to the C implementation" msgstr "" #: ../Doc/c-api/structures.rst:145 msgid ":attr:`ml_flags`" msgstr "" #: ../Doc/c-api/structures.rst:145 ../Doc/c-api/structures.rst:268 #: ../Doc/c-api/structures.rst:275 ../Doc/c-api/structures.rst:291 msgid "int" msgstr "*int*" #: ../Doc/c-api/structures.rst:145 msgid "flag bits indicating how the call should be constructed" msgstr "" #: ../Doc/c-api/structures.rst:148 msgid ":attr:`ml_doc`" msgstr "" #: ../Doc/c-api/structures.rst:148 ../Doc/c-api/structures.rst:279 msgid "points to the contents of the docstring" msgstr "" #: ../Doc/c-api/structures.rst:152 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:159 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. Of the calling convention flags, only :const:" "`METH_VARARGS` and :const:`METH_KEYWORDS` can be combined. Any of the " "calling convention flags can be combined with a binding flag." msgstr "" #: ../Doc/c-api/structures.rst:168 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:178 msgid "" "Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. " "The function expects three parameters: *self*, *args*, and a dictionary of " "all the keyword arguments. The flag is typically combined with :const:" "`METH_VARARGS`, and the parameters are typically processed using :c:func:" "`PyArg_ParseTupleAndKeywords`." msgstr "" #: ../Doc/c-api/structures.rst:187 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:196 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:204 msgid "" "This calling convention is deprecated. The method must be of type :c:type:" "`PyCFunction`. The second argument is *NULL* if no arguments are given, a " "single object if exactly one argument is given, and a tuple of objects if " "more than one argument is given. There is no way for a function using this " "convention to distinguish between a call with multiple arguments and a call " "with a tuple as the only argument." msgstr "" #: ../Doc/c-api/structures.rst:211 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:221 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:233 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:239 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:245 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:260 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:266 msgid ":attr:`name`" msgstr "" #: ../Doc/c-api/structures.rst:266 msgid "name of the member" msgstr "" #: ../Doc/c-api/structures.rst:268 msgid ":attr:`type`" msgstr "" #: ../Doc/c-api/structures.rst:268 msgid "the type of the member in the C struct" msgstr "" #: ../Doc/c-api/structures.rst:271 msgid ":attr:`offset`" msgstr "" #: ../Doc/c-api/structures.rst:271 ../Doc/c-api/structures.rst:307 msgid "Py_ssize_t" msgstr "" #: ../Doc/c-api/structures.rst:271 msgid "" "the offset in bytes that the member is located on the type's object struct" msgstr "" #: ../Doc/c-api/structures.rst:275 msgid ":attr:`flags`" msgstr "" #: ../Doc/c-api/structures.rst:275 msgid "flag bits indicating if the field should be read-only or writable" msgstr "" #: ../Doc/c-api/structures.rst:279 msgid ":attr:`doc`" msgstr "" #: ../Doc/c-api/structures.rst:283 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:288 msgid "Macro name" msgstr "" #: ../Doc/c-api/structures.rst:288 msgid "C type" msgstr "Type C" #: ../Doc/c-api/structures.rst:290 msgid "T_SHORT" msgstr "" #: ../Doc/c-api/structures.rst:290 msgid "short" msgstr "" #: ../Doc/c-api/structures.rst:291 msgid "T_INT" msgstr "" #: ../Doc/c-api/structures.rst:292 msgid "T_LONG" msgstr "" #: ../Doc/c-api/structures.rst:292 msgid "long" msgstr "" #: ../Doc/c-api/structures.rst:293 msgid "T_FLOAT" msgstr "" #: ../Doc/c-api/structures.rst:293 msgid "float" msgstr "*float*" #: ../Doc/c-api/structures.rst:294 msgid "T_DOUBLE" msgstr "" #: ../Doc/c-api/structures.rst:294 msgid "double" msgstr "double" #: ../Doc/c-api/structures.rst:295 msgid "T_STRING" msgstr "" #: ../Doc/c-api/structures.rst:296 msgid "T_OBJECT" msgstr "" #: ../Doc/c-api/structures.rst:296 ../Doc/c-api/structures.rst:297 msgid "PyObject \\*" msgstr "PyObject \\*" #: ../Doc/c-api/structures.rst:297 msgid "T_OBJECT_EX" msgstr "" #: ../Doc/c-api/structures.rst:298 msgid "T_CHAR" msgstr "" #: ../Doc/c-api/structures.rst:298 ../Doc/c-api/structures.rst:299 #: ../Doc/c-api/structures.rst:304 msgid "char" msgstr "char" #: ../Doc/c-api/structures.rst:299 msgid "T_BYTE" msgstr "" #: ../Doc/c-api/structures.rst:300 msgid "T_UBYTE" msgstr "" #: ../Doc/c-api/structures.rst:300 msgid "unsigned char" msgstr "``unsigned char``" #: ../Doc/c-api/structures.rst:301 msgid "T_UINT" msgstr "" #: ../Doc/c-api/structures.rst:301 msgid "unsigned int" msgstr "``unsigned int``" #: ../Doc/c-api/structures.rst:302 msgid "T_USHORT" msgstr "" #: ../Doc/c-api/structures.rst:302 msgid "unsigned short" msgstr "``unsigned short``" #: ../Doc/c-api/structures.rst:303 msgid "T_ULONG" msgstr "" #: ../Doc/c-api/structures.rst:303 msgid "unsigned long" msgstr "``unsigned long``" #: ../Doc/c-api/structures.rst:304 msgid "T_BOOL" msgstr "" #: ../Doc/c-api/structures.rst:305 msgid "T_LONGLONG" msgstr "" #: ../Doc/c-api/structures.rst:305 msgid "long long" msgstr "" #: ../Doc/c-api/structures.rst:306 msgid "T_ULONGLONG" msgstr "" #: ../Doc/c-api/structures.rst:306 msgid "unsigned long long" msgstr "``unsigned long long``" #: ../Doc/c-api/structures.rst:307 msgid "T_PYSSIZET" msgstr "" #: ../Doc/c-api/structures.rst:310 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:317 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`. 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:325 msgid "" "Return a bound method object for an extension type implemented in C. This " "can be useful in the implementation of a :c:member:`~PyTypeObject." "tp_getattro` or :c:member:`~PyTypeObject.tp_getattr` handler that does not " "use the :c:func:`PyObject_GenericGetAttr` function." msgstr ""