# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: # python-doc bot, 2025 # Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-02-17 15:27+0000\n" "PO-Revision-Date: 2025-09-15 01:03+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/structures.rst:6 msgid "Common Object Structures" msgstr "Estruturas comuns de objetos" #: ../../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 "" "Existe um grande número de estruturas usadas para a definição de tipos " "objeto para o Python. Esta seção descreve essas estruturas e como são usadas." #: ../../c-api/structures.rst:14 msgid "Base object types and macros" msgstr "Macros e tipos de objetos base" #: ../../c-api/structures.rst:16 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. " "Additional macros can be found under :ref:`reference counting " "`." msgstr "" "Todos os objetos Python por fim compartilham um pequeno número de campos no " "começo da representação o objeto na memória. Esses são representados pelos " "tipos :c:type:`PyObject` e :c:type:`PyVarObject`, que são definidos, por sua " "vez, pelas expansões de alguns macros também, utilizados, direta ou " "indiretamente, na definição de todos outros objetos Python. Macros " "adicionais podem ser encontrados em :ref:`contagem de referências " "`." #: ../../c-api/structures.rst:26 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:expr:`PyObject*`. Access to the members must be done by using the " "macros :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`." msgstr "" #: ../../c-api/structures.rst:38 msgid "" "This is an extension of :c:type:`PyObject` that adds the :c:member:" "`~PyVarObject.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 "" "Esta é uma extensão de :c:type:`PyObject` que adiciona o campo :c:member:" "`~PyVarObject.ob_size`. Isso é usado apenas para objetos que têm alguma " "noção de *comprimento*. Esse tipo não costuma aparecer na API Python/C. O " "acesso aos membros deve ser feito através das macros :c:macro:`Py_REFCNT`, :" "c:macro:`Py_TYPE`, e :c:macro:`Py_SIZE`." #: ../../c-api/structures.rst:47 msgid "" "This is a macro used when declaring new types which represent objects " "without a varying length. The PyObject_HEAD macro expands to::" msgstr "" "Este é um macro usado ao declarar novos tipos que representam objetos sem " "comprimento variável. O macro PyObject_HEAD se expande para::" #: ../../c-api/structures.rst:50 msgid "PyObject ob_base;" msgstr "PyObject ob_base;" #: ../../c-api/structures.rst:52 msgid "See documentation of :c:type:`PyObject` above." msgstr "Veja documentação de :c:type:`PyObject` acima." #: ../../c-api/structures.rst:57 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 "" "Esta é uma macro usada ao declarar novos tipos que representam objetos com " "um comprimento que varia de instância para instância. A macro " "PyObject_VAR_HEAD se expande para::" #: ../../c-api/structures.rst:61 msgid "PyVarObject ob_base;" msgstr "PyVarObject ob_base;" #: ../../c-api/structures.rst:63 msgid "See documentation of :c:type:`PyVarObject` above." msgstr "Veja documentação de :c:type:`PyVarObject` acima." #: ../../c-api/structures.rst:68 msgid "" "The base class of all other objects, the same as :class:`object` in Python." msgstr "" "A classe base de todos os outros objetos, equivalente a :class:`object` em " "Python." #: ../../c-api/structures.rst:73 msgid "" "Test if the *x* object is the *y* object, the same as ``x is y`` in Python." msgstr "" "Testa se o objeto *x* é o objeto *y*, o mesmo que ``x is y`` em Python." #: ../../c-api/structures.rst:80 msgid "" "Test if an object is the ``None`` singleton, the same as ``x is None`` in " "Python." msgstr "" #: ../../c-api/structures.rst:88 msgid "" "Test if an object is the ``True`` singleton, the same as ``x is True`` in " "Python." msgstr "" #: ../../c-api/structures.rst:96 msgid "" "Test if an object is the ``False`` singleton, the same as ``x is False`` in " "Python." msgstr "" #: ../../c-api/structures.rst:104 msgid "Get the type of the Python object *o*." msgstr "" #: ../../c-api/structures.rst:106 msgid "Return a :term:`borrowed reference`." msgstr "" #: ../../c-api/structures.rst:108 msgid "Use the :c:func:`Py_SET_TYPE` function to set an object type." msgstr "" #: ../../c-api/structures.rst:110 msgid "" ":c:func:`Py_TYPE()` is changed to an inline static function. The parameter " "type is no longer :c:expr:`const PyObject*`." msgstr "" #: ../../c-api/structures.rst:117 msgid "" "Return non-zero if the object *o* type is *type*. Return zero otherwise. " "Equivalent to: ``Py_TYPE(o) == type``." msgstr "" #: ../../c-api/structures.rst:125 msgid "Set the object *o* type to *type*." msgstr "" #: ../../c-api/structures.rst:132 msgid "Get the size of the Python object *o*." msgstr "" #: ../../c-api/structures.rst:134 msgid "Use the :c:func:`Py_SET_SIZE` function to set an object size." msgstr "" #: ../../c-api/structures.rst:136 msgid "" ":c:func:`Py_SIZE()` is changed to an inline static function. The parameter " "type is no longer :c:expr:`const PyVarObject*`." msgstr "" #: ../../c-api/structures.rst:143 msgid "Set the object *o* size to *size*." msgstr "" #: ../../c-api/structures.rst:150 msgid "" "This is a macro which expands to initialization values for a new :c:type:" "`PyObject` type. This macro expands to::" msgstr "" #: ../../c-api/structures.rst:153 msgid "" "_PyObject_EXTRA_INIT\n" "1, type," msgstr "" #: ../../c-api/structures.rst:159 msgid "" "This is a macro which expands to initialization values for a new :c:type:" "`PyVarObject` type, including the :c:member:`~PyVarObject.ob_size` field. " "This macro expands to::" msgstr "" #: ../../c-api/structures.rst:163 msgid "" "_PyObject_EXTRA_INIT\n" "1, type, size," msgstr "" #: ../../c-api/structures.rst:168 msgid "Implementing functions and methods" msgstr "" #: ../../c-api/structures.rst:172 msgid "" "Type of the functions used to implement most Python callables in C. " "Functions of this type take two :c:expr:`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 "" #: ../../c-api/structures.rst:179 msgid "The function signature is::" msgstr "A assinatura da função é::" #: ../../c-api/structures.rst:181 msgid "" "PyObject *PyCFunction(PyObject *self,\n" " PyObject *args);" msgstr "" #: ../../c-api/structures.rst:186 msgid "" "Type of the functions used to implement Python callables in C with " "signature :ref:`METH_VARARGS | METH_KEYWORDS `. " "The function signature is::" msgstr "" #: ../../c-api/structures.rst:190 msgid "" "PyObject *PyCFunctionWithKeywords(PyObject *self,\n" " PyObject *args,\n" " PyObject *kwargs);" msgstr "" #: ../../c-api/structures.rst:197 msgid "" "Type of the functions used to implement Python callables in C with " "signature :c:macro:`METH_FASTCALL`. The function signature is::" msgstr "" #: ../../c-api/structures.rst:201 msgid "" "PyObject *PyCFunctionFast(PyObject *self,\n" " PyObject *const *args,\n" " Py_ssize_t nargs);" msgstr "" #: ../../c-api/structures.rst:207 msgid "" "Type of the functions used to implement Python callables in C with " "signature :ref:`METH_FASTCALL | METH_KEYWORDS `. The function signature is::" msgstr "" #: ../../c-api/structures.rst:211 msgid "" "PyObject *PyCFunctionFastWithKeywords(PyObject *self,\n" " PyObject *const *args,\n" " Py_ssize_t nargs,\n" " PyObject *kwnames);" msgstr "" #: ../../c-api/structures.rst:218 msgid "" "Type of the functions used to implement Python callables in C with " "signature :ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS `. The function signature is::" msgstr "" #: ../../c-api/structures.rst:222 msgid "" "PyObject *PyCMethod(PyObject *self,\n" " PyTypeObject *defining_class,\n" " PyObject *const *args,\n" " Py_ssize_t nargs,\n" " PyObject *kwnames)" msgstr "" #: ../../c-api/structures.rst:233 msgid "" "Structure used to describe a method of an extension type. This structure " "has four fields:" msgstr "" #: ../../c-api/structures.rst:238 msgid "Name of the method." msgstr "Nome do método." #: ../../c-api/structures.rst:242 msgid "Pointer to the C implementation." msgstr "" #: ../../c-api/structures.rst:246 msgid "Flags bits indicating how the call should be constructed." msgstr "" #: ../../c-api/structures.rst:250 msgid "Points to the contents of the docstring." msgstr "" #: ../../c-api/structures.rst:252 msgid "" "The :c:member:`~PyMethodDef.ml_meth` is a C function pointer. The functions " "may be of different types, but they always return :c:expr:`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:expr:`PyObject*`, it is common that the method " "implementation uses the specific C type of the *self* object." msgstr "" #: ../../c-api/structures.rst:260 msgid "" "The :c:member:`~PyMethodDef.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 "" #: ../../c-api/structures.rst:265 msgid "There are these calling conventions:" msgstr "" #: ../../c-api/structures.rst:269 msgid "" "This is the typical calling convention, where the methods have the type :c:" "type:`PyCFunction`. The function expects two :c:expr:`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 "" #: ../../c-api/structures.rst:279 msgid "" "Can only be used in certain combinations with other flags: :ref:" "`METH_VARARGS | METH_KEYWORDS `, :ref:" "`METH_FASTCALL | METH_KEYWORDS ` and :ref:" "`METH_METHOD | METH_FASTCALL | METH_KEYWORDS `." msgstr "" #: ../../c-api/structures.rst:287 msgid ":c:expr:`METH_VARARGS | METH_KEYWORDS`" msgstr ":c:expr:`METH_VARARGS | METH_KEYWORDS`" #: ../../c-api/structures.rst:288 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 "" #: ../../c-api/structures.rst:297 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:expr:`PyObject*` values indicating the " "arguments and the third parameter is the number of arguments (the length of " "the array)." msgstr "" #: ../../c-api/structures.rst:307 msgid "``METH_FASTCALL`` is now part of the :ref:`stable ABI `." msgstr "" #: ../../c-api/structures.rst:312 msgid ":c:expr:`METH_FASTCALL | METH_KEYWORDS`" msgstr ":c:expr:`METH_FASTCALL | METH_KEYWORDS`" #: ../../c-api/structures.rst:313 msgid "" "Extension of :c:macro:`METH_FASTCALL` supporting also keyword arguments, " "with methods of type :c:type:`PyCFunctionFastWithKeywords`. Keyword " "arguments are passed the same way as in the :ref:`vectorcall protocol " "`: there is an additional fourth :c:expr:`PyObject*` parameter " "which is a tuple representing the names of the keyword arguments (which are " "guaranteed to be strings) 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 "" #: ../../c-api/structures.rst:328 msgid "" "Can only be used in the combination with other flags: :ref:`METH_METHOD | " "METH_FASTCALL | METH_KEYWORDS `." msgstr "" #: ../../c-api/structures.rst:334 msgid ":c:expr:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`" msgstr ":c:expr:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`" #: ../../c-api/structures.rst:335 msgid "" "Extension of :ref:`METH_FASTCALL | METH_KEYWORDS ` supporting the *defining class*, that is, the class that " "contains the method in question. The defining class might be a superclass of " "``Py_TYPE(self)``." msgstr "" #: ../../c-api/structures.rst:340 msgid "" "The method needs to be of type :c:type:`PyCMethod`, the same as for " "``METH_FASTCALL | METH_KEYWORDS`` with ``defining_class`` argument added " "after ``self``." msgstr "" #: ../../c-api/structures.rst:349 msgid "" "Methods without parameters don't need to check whether arguments are given " "if they are listed with the :c:macro:`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 "" #: ../../c-api/structures.rst:355 msgid "" "The function must have 2 parameters. Since the second parameter is unused, :" "c:macro:`Py_UNUSED` can be used to prevent a compiler warning." msgstr "" #: ../../c-api/structures.rst:361 msgid "" "Methods with a single object argument can be listed with the :c:macro:" "`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:expr:`PyObject*` parameter representing the " "single argument." msgstr "" #: ../../c-api/structures.rst:367 msgid "" "These two constants are not used to indicate the calling convention but the " "binding when used 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 "" #: ../../c-api/structures.rst:377 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 "" #: ../../c-api/structures.rst:387 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 "" #: ../../c-api/structures.rst:391 msgid "" "One other constant controls whether a method is loaded in place of another " "definition with the same method name." msgstr "" #: ../../c-api/structures.rst:397 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:" "`~object.__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 "" #: ../../c-api/structures.rst:410 msgid "" "The type object corresponding to Python C method objects. This is available " "as :class:`types.BuiltinMethodType` in the Python layer." msgstr "" #: ../../c-api/structures.rst:416 msgid "" "Return true if *op* is an instance of the :c:type:`PyCMethod_Type` type or a " "subtype of it. This function always succeeds." msgstr "" #: ../../c-api/structures.rst:422 msgid "" "This is the same as :c:func:`PyCMethod_Check`, but does not account for " "subtypes." msgstr "" #: ../../c-api/structures.rst:428 msgid "" "Turn *ml* into a Python :term:`callable` object. The caller must ensure that " "*ml* outlives the :term:`callable`. Typically, *ml* is defined as a static " "variable." msgstr "" #: ../../c-api/structures.rst:432 msgid "" "The *self* parameter will be passed as the *self* argument to the C function " "in ``ml->ml_meth`` when invoked. *self* can be ``NULL``." msgstr "" #: ../../c-api/structures.rst:436 msgid "" "The :term:`callable` object's ``__module__`` attribute can be set from the " "given *module* argument. *module* should be a Python string, which will be " "used as name of the module the function is defined in. If unavailable, it " "can be set to :const:`None` or ``NULL``." msgstr "" #: ../../c-api/structures.rst:442 msgid ":attr:`function.__module__`" msgstr ":attr:`function.__module__`" #: ../../c-api/structures.rst:444 msgid "" "The *cls* parameter will be passed as the *defining_class* argument to the C " "function. Must be set if :c:macro:`METH_METHOD` is set on ``ml->ml_flags``." msgstr "" #: ../../c-api/structures.rst:453 msgid "" "The type object corresponding to Python C function objects. This is " "available as :class:`types.BuiltinFunctionType` in the Python layer." msgstr "" #: ../../c-api/structures.rst:459 msgid "" "Return true if *op* is an instance of the :c:type:`PyCFunction_Type` type or " "a subtype of it. This function always succeeds." msgstr "" #: ../../c-api/structures.rst:465 msgid "" "This is the same as :c:func:`PyCFunction_Check`, but does not account for " "subtypes." msgstr "" #: ../../c-api/structures.rst:471 msgid "Equivalent to ``PyCMethod_New(ml, self, module, NULL)``." msgstr "Equivalente a ``PyCMethod_New(ml, self, module, NULL)``." #: ../../c-api/structures.rst:476 msgid "Equivalent to ``PyCMethod_New(ml, self, NULL, NULL)``." msgstr "Equivalente a ``PyCMethod_New(ml, self, NULL, NULL)``." #: ../../c-api/structures.rst:481 msgid "" "Get the function's flags on *func* as they were passed to :c:member:" "`~PyMethodDef.ml_flags`." msgstr "" #: ../../c-api/structures.rst:484 ../../c-api/structures.rst:502 #: ../../c-api/structures.rst:522 msgid "" "If *func* is not a C function object, this fails with an exception. *func* " "must not be ``NULL``." msgstr "" #: ../../c-api/structures.rst:487 msgid "" "This function returns the function's flags on success, and ``-1`` with an " "exception set on failure." msgstr "" #: ../../c-api/structures.rst:493 msgid "" "This is the same as :c:func:`PyCFunction_GetFlags`, but without error or " "type checking." msgstr "" #: ../../c-api/structures.rst:499 msgid "" "Get the function pointer on *func* as it was passed to :c:member:" "`~PyMethodDef.ml_meth`." msgstr "" #: ../../c-api/structures.rst:505 msgid "" "This function returns the function pointer on success, and ``NULL`` with an " "exception set on failure." msgstr "" #: ../../c-api/structures.rst:511 msgid "" "This is the same as :c:func:`PyCFunction_GetFunction`, but without error or " "type checking." msgstr "" #: ../../c-api/structures.rst:517 msgid "" "Get the \"self\" object on *func*. This is the object that would be passed " "to the first argument of a :c:type:`PyCFunction`. For C function objects " "created through a :c:type:`PyMethodDef` on a :c:type:`PyModuleDef`, this is " "the resulting module object." msgstr "" #: ../../c-api/structures.rst:525 msgid "" "This function returns a :term:`borrowed reference` to the \"self\" object on " "success, and ``NULL`` with an exception set on failure." msgstr "" #: ../../c-api/structures.rst:531 msgid "" "This is the same as :c:func:`PyCFunction_GetSelf`, but without error or type " "checking." msgstr "" #: ../../c-api/structures.rst:536 msgid "Accessing attributes of extension types" msgstr "" #: ../../c-api/structures.rst:540 msgid "" "Structure which describes an attribute of a type which corresponds to a C " "struct member. When defining a class, put a NULL-terminated array of these " "structures in the :c:member:`~PyTypeObject.tp_members` slot." msgstr "" #: ../../c-api/structures.rst:545 msgid "Its fields are, in order:" msgstr "" #: ../../c-api/structures.rst:549 msgid "" "Name of the member. A NULL value marks the end of a ``PyMemberDef[]`` array." msgstr "" #: ../../c-api/structures.rst:552 msgid "The string should be static, no copy is made of it." msgstr "" #: ../../c-api/structures.rst:556 msgid "" "The type of the member in the C struct. See :ref:`PyMemberDef-types` for the " "possible values." msgstr "" #: ../../c-api/structures.rst:561 msgid "" "The offset in bytes that the member is located on the type’s object struct." msgstr "" #: ../../c-api/structures.rst:565 msgid "" "Zero or more of the :ref:`PyMemberDef-flags`, combined using bitwise OR." msgstr "" #: ../../c-api/structures.rst:569 msgid "" "The docstring, or NULL. The string should be static, no copy is made of it. " "Typically, it is defined using :c:macro:`PyDoc_STR`." msgstr "" #: ../../c-api/structures.rst:573 msgid "" "By default (when :c:member:`~PyMemberDef.flags` is ``0``), members allow " "both read and write access. Use the :c:macro:`Py_READONLY` flag for read-" "only access. Certain types, like :c:macro:`Py_T_STRING`, imply :c:macro:" "`Py_READONLY`. Only :c:macro:`Py_T_OBJECT_EX` (and legacy :c:macro:" "`T_OBJECT`) members can be deleted." msgstr "" #: ../../c-api/structures.rst:582 msgid "" "For heap-allocated types (created using :c:func:`PyType_FromSpec` or " "similar), ``PyMemberDef`` may contain a definition for the special member " "``\"__vectorcalloffset__\"``, corresponding to :c:member:`~PyTypeObject." "tp_vectorcall_offset` in type objects. These must be defined with " "``Py_T_PYSSIZET`` and ``Py_READONLY``, for example::" msgstr "" #: ../../c-api/structures.rst:588 msgid "" "static PyMemberDef spam_type_members[] = {\n" " {\"__vectorcalloffset__\", Py_T_PYSSIZET,\n" " offsetof(Spam_object, vectorcall), Py_READONLY},\n" " {NULL} /* Sentinel */\n" "};" msgstr "" #: ../../c-api/structures.rst:594 msgid "(You may need to ``#include `` for :c:func:`!offsetof`.)" msgstr "" #: ../../c-api/structures.rst:596 msgid "" "The legacy offsets :c:member:`~PyTypeObject.tp_dictoffset` and :c:member:" "`~PyTypeObject.tp_weaklistoffset` can be defined similarly using " "``\"__dictoffset__\"`` and ``\"__weaklistoffset__\"`` members, but " "extensions are strongly encouraged to use :c:macro:`Py_TPFLAGS_MANAGED_DICT` " "and :c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` instead." msgstr "" #: ../../c-api/structures.rst:604 msgid "" "``PyMemberDef`` is always available. Previously, it required including " "``\"structmember.h\"``." msgstr "" #: ../../c-api/structures.rst:609 msgid "" "Get an attribute belonging to the object at address *obj_addr*. The " "attribute is described by ``PyMemberDef`` *m*. Returns ``NULL`` on error." msgstr "" #: ../../c-api/structures.rst:615 msgid "" "``PyMember_GetOne`` is always available. Previously, it required including " "``\"structmember.h\"``." msgstr "" #: ../../c-api/structures.rst:620 msgid "" "Set an attribute belonging to the object at address *obj_addr* to object " "*o*. The attribute to set is described by ``PyMemberDef`` *m*. Returns " "``0`` if successful and a negative value on failure." msgstr "" #: ../../c-api/structures.rst:626 msgid "" "``PyMember_SetOne`` is always available. Previously, it required including " "``\"structmember.h\"``." msgstr "" #: ../../c-api/structures.rst:632 msgid "Member flags" msgstr "" #: ../../c-api/structures.rst:634 msgid "The following flags can be used with :c:member:`PyMemberDef.flags`:" msgstr "" #: ../../c-api/structures.rst:638 msgid "Not writable." msgstr "" #: ../../c-api/structures.rst:642 msgid "" "Emit an ``object.__getattr__`` :ref:`audit event ` before " "reading." msgstr "" #: ../../c-api/structures.rst:647 msgid "" "Indicates that the :c:member:`~PyMemberDef.offset` of this ``PyMemberDef`` " "entry indicates an offset from the subclass-specific data, rather than from " "``PyObject``." msgstr "" #: ../../c-api/structures.rst:651 msgid "" "Can only be used as part of :c:member:`Py_tp_members ` :c:type:`slot ` when creating a class using " "negative :c:member:`~PyType_Spec.basicsize`. It is mandatory in that case." msgstr "" #: ../../c-api/structures.rst:656 msgid "" "This flag is only used in :c:type:`PyType_Slot`. When setting :c:member:" "`~PyTypeObject.tp_members` during class creation, Python clears it and sets :" "c:member:`PyMemberDef.offset` to the offset from the ``PyObject`` struct." msgstr "" #: ../../c-api/structures.rst:668 msgid "" "The :c:macro:`!RESTRICTED`, :c:macro:`!READ_RESTRICTED` and :c:macro:`!" "WRITE_RESTRICTED` macros available with ``#include \"structmember.h\"`` are " "deprecated. :c:macro:`!READ_RESTRICTED` and :c:macro:`!RESTRICTED` are " "equivalent to :c:macro:`Py_AUDIT_READ`; :c:macro:`!WRITE_RESTRICTED` does " "nothing." msgstr "" #: ../../c-api/structures.rst:679 msgid "" "The :c:macro:`!READONLY` macro was renamed to :c:macro:`Py_READONLY`. The :c:" "macro:`!PY_AUDIT_READ` macro was renamed with the ``Py_`` prefix. The new " "names are now always available. Previously, these required ``#include " "\"structmember.h\"``. The header is still available and it provides the old " "names." msgstr "" #: ../../c-api/structures.rst:688 msgid "Member types" msgstr "" #: ../../c-api/structures.rst:690 msgid "" ":c:member:`PyMemberDef.type` can be one of the following macros " "corresponding to various C types. When the member is accessed in Python, it " "will be converted to the equivalent Python type. When it is set from Python, " "it will be converted back to the C type. If that is not possible, an " "exception such as :exc:`TypeError` or :exc:`ValueError` is raised." msgstr "" #: ../../c-api/structures.rst:698 msgid "" "Unless marked (D), attributes defined this way cannot be deleted using e.g. :" "keyword:`del` or :py:func:`delattr`." msgstr "" #: ../../c-api/structures.rst:702 msgid "Macro name" msgstr "" #: ../../c-api/structures.rst:702 msgid "C type" msgstr "Tipo em C" #: ../../c-api/structures.rst:702 msgid "Python type" msgstr "Tipo em Python" #: ../../c-api/structures.rst:704 msgid ":c:expr:`char`" msgstr ":c:expr:`char`" #: ../../c-api/structures.rst:704 ../../c-api/structures.rst:705 #: ../../c-api/structures.rst:706 ../../c-api/structures.rst:707 #: ../../c-api/structures.rst:708 ../../c-api/structures.rst:709 #: ../../c-api/structures.rst:710 ../../c-api/structures.rst:711 #: ../../c-api/structures.rst:712 ../../c-api/structures.rst:713 #: ../../c-api/structures.rst:714 msgid ":py:class:`int`" msgstr ":py:class:`int`" #: ../../c-api/structures.rst:705 msgid ":c:expr:`short`" msgstr ":c:expr:`short`" #: ../../c-api/structures.rst:706 msgid ":c:expr:`int`" msgstr ":c:expr:`int`" #: ../../c-api/structures.rst:707 msgid ":c:expr:`long`" msgstr ":c:expr:`long`" #: ../../c-api/structures.rst:708 msgid ":c:expr:`long long`" msgstr ":c:expr:`long long`" #: ../../c-api/structures.rst:709 msgid ":c:expr:`unsigned char`" msgstr ":c:expr:`unsigned char`" #: ../../c-api/structures.rst:710 msgid ":c:expr:`unsigned int`" msgstr ":c:expr:`unsigned int`" #: ../../c-api/structures.rst:711 msgid ":c:expr:`unsigned short`" msgstr ":c:expr:`unsigned short`" #: ../../c-api/structures.rst:712 msgid ":c:expr:`unsigned long`" msgstr ":c:expr:`unsigned long`" #: ../../c-api/structures.rst:713 msgid ":c:expr:`unsigned long long`" msgstr ":c:expr:`unsigned long long`" #: ../../c-api/structures.rst:714 msgid ":c:expr:`Py_ssize_t`" msgstr ":c:expr:`Py_ssize_t`" #: ../../c-api/structures.rst:715 msgid ":c:expr:`float`" msgstr ":c:expr:`float`" #: ../../c-api/structures.rst:715 ../../c-api/structures.rst:716 msgid ":py:class:`float`" msgstr ":py:class:`float`" #: ../../c-api/structures.rst:716 msgid ":c:expr:`double`" msgstr ":c:expr:`double`" #: ../../c-api/structures.rst:717 msgid ":c:expr:`char` (written as 0 or 1)" msgstr ":c:expr:`char` (escrito como 0 ou 1)" #: ../../c-api/structures.rst:717 msgid ":py:class:`bool`" msgstr ":py:class:`bool`" #: ../../c-api/structures.rst:719 msgid ":c:expr:`const char *` (*)" msgstr ":c:expr:`const char *` (*)" #: ../../c-api/structures.rst:719 ../../c-api/structures.rst:720 msgid ":py:class:`str` (RO)" msgstr ":py:class:`str` (RO)" #: ../../c-api/structures.rst:720 msgid ":c:expr:`const char[]` (*)" msgstr ":c:expr:`const char[]` (*)" #: ../../c-api/structures.rst:721 msgid ":c:expr:`char` (0-127)" msgstr ":c:expr:`char` (0-127)" #: ../../c-api/structures.rst:721 msgid ":py:class:`str` (**)" msgstr ":py:class:`str` (**)" #: ../../c-api/structures.rst:722 msgid ":c:expr:`PyObject *`" msgstr ":c:expr:`PyObject *`" #: ../../c-api/structures.rst:722 msgid ":py:class:`object` (D)" msgstr ":py:class:`object` (D)" #: ../../c-api/structures.rst:725 msgid "" "(*): Zero-terminated, UTF8-encoded C string. With :c:macro:`!Py_T_STRING` " "the C representation is a pointer; with :c:macro:`!Py_T_STRING_INPLACE` the " "string is stored directly in the structure." msgstr "" #: ../../c-api/structures.rst:730 msgid "(**): String of length 1. Only ASCII is accepted." msgstr "" #: ../../c-api/structures.rst:732 msgid "(RO): Implies :c:macro:`Py_READONLY`." msgstr "(RO): implica :c:macro:`Py_READONLY`." #: ../../c-api/structures.rst:734 msgid "" "(D): Can be deleted, in which case the pointer is set to ``NULL``. Reading a " "``NULL`` pointer raises :py:exc:`AttributeError`." msgstr "" "(D): pode ser deletado, neste caso o ponteiro é definido para ``NULL``. Ler " "um ponteiro ``NULL`` levanta uma exceção :py:exc:`AttributeError`." #: ../../c-api/structures.rst:760 msgid "" "In previous versions, the macros were only available with ``#include " "\"structmember.h\"`` and were named without the ``Py_`` prefix (e.g. as " "``T_INT``). The header is still available and contains the old names, along " "with the following deprecated types:" msgstr "" #: ../../c-api/structures.rst:768 msgid "" "Like ``Py_T_OBJECT_EX``, but ``NULL`` is converted to ``None``. This results " "in surprising behavior in Python: deleting the attribute effectively sets it " "to ``None``." msgstr "" #: ../../c-api/structures.rst:774 msgid "Always ``None``. Must be used with :c:macro:`Py_READONLY`." msgstr "Sempre ``None``. Deve ser usado com :c:macro:`Py_READONLY`." #: ../../c-api/structures.rst:777 msgid "Defining Getters and Setters" msgstr "" #: ../../c-api/structures.rst:781 msgid "" "Structure to define property-like access for a type. See also description of " "the :c:member:`PyTypeObject.tp_getset` slot." msgstr "" #: ../../c-api/structures.rst:786 msgid "attribute name" msgstr "" #: ../../c-api/structures.rst:790 msgid "C function to get the attribute." msgstr "" #: ../../c-api/structures.rst:794 msgid "" "Optional C function to set or delete the attribute. If ``NULL``, the " "attribute is read-only." msgstr "" #: ../../c-api/structures.rst:799 msgid "optional docstring" msgstr "" #: ../../c-api/structures.rst:803 msgid "" "Optional user data pointer, providing additional data for getter and setter." msgstr "" #: ../../c-api/structures.rst:807 msgid "" "The ``get`` function takes one :c:expr:`PyObject*` parameter (the instance) " "and a user data pointer (the associated ``closure``):" msgstr "" #: ../../c-api/structures.rst:810 msgid "" "It should return a new reference on success or ``NULL`` with a set exception " "on failure." msgstr "" #: ../../c-api/structures.rst:815 msgid "" "``set`` functions take two :c:expr:`PyObject*` parameters (the instance and " "the value to be set) and a user data pointer (the associated ``closure``):" msgstr "" #: ../../c-api/structures.rst:818 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 "" #: ../../c-api/structures.rst:375 ../../c-api/structures.rst:385 msgid "built-in function" msgstr "função embutida" #: ../../c-api/structures.rst:375 msgid "classmethod" msgstr "classmethod" #: ../../c-api/structures.rst:385 msgid "staticmethod" msgstr "staticmethod" #: ../../c-api/structures.rst:661 msgid "READ_RESTRICTED (C macro)" msgstr "READ_RESTRICTED (macro C)" #: ../../c-api/structures.rst:661 msgid "WRITE_RESTRICTED (C macro)" msgstr "WRITE_RESTRICTED (macro C)" #: ../../c-api/structures.rst:661 msgid "RESTRICTED (C macro)" msgstr "RESTRICTED (macro C)" #: ../../c-api/structures.rst:674 msgid "READONLY (C macro)" msgstr "READONLY (macro C)" #: ../../c-api/structures.rst:737 msgid "T_BYTE (C macro)" msgstr "T_BYTE (macro C)" #: ../../c-api/structures.rst:737 msgid "T_SHORT (C macro)" msgstr "T_SHORT (macro C)" #: ../../c-api/structures.rst:737 msgid "T_INT (C macro)" msgstr "T_INT (macro C)" #: ../../c-api/structures.rst:737 msgid "T_LONG (C macro)" msgstr "T_LONG (macro C)" #: ../../c-api/structures.rst:737 msgid "T_LONGLONG (C macro)" msgstr "T_LONGLONG (macro C)" #: ../../c-api/structures.rst:737 msgid "T_UBYTE (C macro)" msgstr "T_UBYTE (macro C)" #: ../../c-api/structures.rst:737 msgid "T_USHORT (C macro)" msgstr "T_USHORT (macro C)" #: ../../c-api/structures.rst:737 msgid "T_UINT (C macro)" msgstr "T_UINT (macro C)" #: ../../c-api/structures.rst:737 msgid "T_ULONG (C macro)" msgstr "T_ULONG (macro C)" #: ../../c-api/structures.rst:737 msgid "T_ULONGULONG (C macro)" msgstr "T_ULONGULONG (macro C)" #: ../../c-api/structures.rst:737 msgid "T_PYSSIZET (C macro)" msgstr "T_PYSSIZET (macro C)" #: ../../c-api/structures.rst:737 msgid "T_FLOAT (C macro)" msgstr "T_FLOAT (macro C)" #: ../../c-api/structures.rst:737 msgid "T_DOUBLE (C macro)" msgstr "T_DOUBLE (macro C)" #: ../../c-api/structures.rst:737 msgid "T_BOOL (C macro)" msgstr "T_BOOL (macro C)" #: ../../c-api/structures.rst:737 msgid "T_CHAR (C macro)" msgstr "T_CHAR (macro C)" #: ../../c-api/structures.rst:737 msgid "T_STRING (C macro)" msgstr "T_STRING (macro C)" #: ../../c-api/structures.rst:737 msgid "T_STRING_INPLACE (C macro)" msgstr "T_STRING_INPLACE (macro C)" #: ../../c-api/structures.rst:737 msgid "T_OBJECT_EX (C macro)" msgstr "T_OBJECT_EX (macro C)" #: ../../c-api/structures.rst:737 msgid "structmember.h" msgstr "structmember.h"