diff --git a/reference/datamodel.po b/reference/datamodel.po index 4fa9d52c2e..78e27ad69d 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2021-12-09 23:44-0300\n" +"PO-Revision-Date: 2025-03-16 17:18-0600\n" "Last-Translator: Cristián Maureira-Fredes <cmaureirafredes@gmail.com>\n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/reference/datamodel.rst:6 msgid "Data model" @@ -43,7 +44,6 @@ msgstr "" "representado por objetos.)" #: ../Doc/reference/datamodel.rst:35 -#, fuzzy msgid "" "Every object has an identity, a type and a value. An object's *identity* " "never changes once it has been created; you may think of it as the object's " @@ -53,7 +53,7 @@ msgid "" msgstr "" "Cada objeto tiene una identidad, un tipo y un valor. La *identidad* de un " "objeto nunca cambia una vez que ha sido creado; puede pensar en ello como la " -"dirección del objeto en la memoria. El operador ':keyword:`is`' compara la " +"dirección del objeto en la memoria. El operador :keyword:`is` compara la " "identidad de dos objetos; la función :func:`id` retorna un número entero que " "representa su identidad." @@ -138,7 +138,6 @@ msgstr "" "inalcanzables (por lo que siempre debe cerrar los archivos explícitamente)." #: ../Doc/reference/datamodel.rst:82 -#, fuzzy msgid "" "Note that the use of the implementation's tracing or debugging facilities " "may keep objects alive that would normally be collectable. Also note that " @@ -148,11 +147,10 @@ msgstr "" "Tenga en cuenta que el uso de las funciones de rastreo o depuración de la " "implementación puede mantener activos los objetos que normalmente serían " "coleccionables. También tenga en cuenta que la captura de una excepción con " -"una sentencia ':keyword:`try`...\\ :keyword:`except`' puede mantener objetos " +"una sentencia :keyword:`try`...\\ :keyword:`except` puede mantener objetos " "activos." #: ../Doc/reference/datamodel.rst:87 -#, fuzzy msgid "" "Some objects contain references to \"external\" resources such as open files " "or windows. It is understood that these resources are freed when the object " @@ -168,9 +166,10 @@ msgstr "" "objeto es eliminado por el recolector de basura, pero como no se garantiza " "que la recolección de basura suceda, dichos objetos también proporcionan una " "forma explícita de liberar el recurso externo, generalmente un método :meth:" -"`close`. Se recomienda encarecidamente a los programas cerrar explícitamente " -"dichos objetos. La declaración ':keyword:`try`...\\ :keyword:`finally`' y la " -"declaración ':keyword:`with`' proporcionan formas convenientes de hacer esto." +"`!close`. Se recomienda encarecidamente a los programas cerrar " +"explícitamente dichos objetos. La declaración :keyword:`try` ... \\ :keyword:" +"`finally` y la declaración :keyword:`with` proporcionan formas convenientes " +"de hacer esto." #: ../Doc/reference/datamodel.rst:97 msgid "" @@ -194,7 +193,6 @@ msgstr "" "cambia si se cambia ese objeto mutable." #: ../Doc/reference/datamodel.rst:106 -#, fuzzy msgid "" "Types affect almost all aspects of object behavior. Even the importance of " "object identity is affected in some sense: for immutable types, operations " @@ -215,12 +213,15 @@ msgstr "" "sentido: para los tipos inmutables, las operaciones que calculan nuevos " "valores en realidad pueden retornar una referencia a cualquier objeto " "existente con el mismo tipo y valor, mientras que para los objetos mutables " -"esto no está permitido. Por ejemplo, al hacer ``a = 1; b = 1``, ``a`` y " -"``b`` puede o no referirse al mismo objeto con el valor 1, dependiendo de la " -"implementación, pero al hacer ``c = []; d = []``, ``c`` y ``d`` se garantiza " -"que se refieren a dos listas vacías diferentes, únicas y recién creadas. " -"(Tenga en cuenta que ``c = d = []`` asigna el mismo objeto a ambos ``c`` y " -"``d``.)" +"esto no está permitido. Por ejemplo, al hacer ``a = 1; b = 1``, *a* y *b* " +"puede o no referirse al mismo objeto con el valor 1, dependiendo de la " +"implementación. Esto se debe a que :class:`int` es un tipo inmutable, así " +"que la referencia a ``1`` se puede reusar. Este comportamiento depende de la " +"implementación utilizada, así que no se debe confiar en ello, pero es algo " +"que hay que tener en cuenta al utilizar pruebas de identidad de objetos. Sin " +"embargo, al hacer ``c = []; d = []``, *c* y *d* se garantiza que se refieren " +"a dos listas vacías diferentes, únicas y recién creadas. (Tenga en cuenta " +"que ``e = f = []`` asigna el *mismo* objeto a ambos *e* y *f*.)" #: ../Doc/reference/datamodel.rst:124 msgid "The standard type hierarchy" @@ -277,7 +278,6 @@ msgid "NotImplemented" msgstr "NotImplemented" #: ../Doc/reference/datamodel.rst:165 -#, fuzzy msgid "" "This type has a single value. There is a single object with this value. " "This object is accessed through the built-in name :data:`NotImplemented`. " @@ -287,10 +287,10 @@ msgid "" "the operator.) It should not be evaluated in a boolean context." msgstr "" "Este tipo tiene un solo valor. Hay un solo objeto con este valor. Se accede " -"a este objeto a través del nombre integrado ``NotImplemented``. Los métodos " -"numéricos y los métodos de comparación enriquecidos deben retornar este " -"valor si no implementan la operación para los operandos proporcionados. (El " -"intérprete intentará entonces la operación reflejada, o alguna otra " +"a este objeto a través del nombre integrado :data:`NotImplemented`. Los " +"métodos numéricos y los métodos de comparación enriquecidos deben retornar " +"este valor si no implementan la operación para los operandos proporcionados. " +"(El intérprete intentará entonces la operación reflejada, o alguna otra " "alternativa, dependiendo del operador). No debe evaluarse en un contexto " "booleano." @@ -299,14 +299,13 @@ msgid "See :ref:`implementing-the-arithmetic-operations` for more details." msgstr "Vea :ref:`implementing-the-arithmetic-operations` para más detalles." #: ../Doc/reference/datamodel.rst:176 -#, fuzzy msgid "" "Evaluating :data:`NotImplemented` in a boolean context is deprecated. While " "it currently evaluates as true, it will emit a :exc:`DeprecationWarning`. It " "will raise a :exc:`TypeError` in a future version of Python." msgstr "" -"La evaluación de ``NotImplemented`` en un contexto booleano está en desuso. " -"Si bien actualmente se evalúa como verdadero, lanzará un :exc:" +"La evaluación de :data:`NotImplemented` en un contexto booleano está en " +"desuso. Si bien actualmente se evalúa como verdadero, emitirá un :exc:" "`DeprecationWarning`. Lanzará un :exc:`TypeError` en una versión futura de " "Python." @@ -386,7 +385,6 @@ msgid "A sign is shown only when the number is negative." msgstr "Solo se muestra un signo cuando el número es negativo." #: ../Doc/reference/datamodel.rst:222 -#, fuzzy msgid "" "Python distinguishes between integers, floating-point numbers, and complex " "numbers:" @@ -464,7 +462,6 @@ msgid ":class:`numbers.Real` (:class:`float`)" msgstr ":class:`numbers.Real` (:class:`float`)" #: ../Doc/reference/datamodel.rst:271 -#, fuzzy msgid "" "These represent machine-level double precision floating-point numbers. You " "are at the mercy of the underlying machine architecture (and C or Java " @@ -488,7 +485,6 @@ msgid ":class:`numbers.Complex` (:class:`complex`)" msgstr ":class:`numbers.Complex` (:class:`complex`)" #: ../Doc/reference/datamodel.rst:287 -#, fuzzy msgid "" "These represent complex numbers as a pair of machine-level double precision " "floating-point numbers. The same caveats apply as for floating-point " @@ -506,7 +502,6 @@ msgid "Sequences" msgstr "Secuencias" #: ../Doc/reference/datamodel.rst:303 -#, fuzzy msgid "" "These represent finite ordered sets indexed by non-negative numbers. The " "built-in function :func:`len` returns the number of items of a sequence. " @@ -520,10 +515,12 @@ msgstr "" "negativos. La función incorporada :func:`len` retorna el número de elementos " "de una secuencia. Cuando la longitud de una secuencia es *n*, el conjunto de " "índices contiene los números 0, 1, ..., *n*-1. El elemento *i* de la " -"secuencia *a* se selecciona mediante ``a[i]``." +"secuencia *a* se selecciona mediante ``a[i]``. Algunas secuencias, incluidas " +"las secuencias integradas, interpretan los subíndices negativos sumando la " +"longitud de la secuencia. Por ejemplo, ``a[-2]`` es igual a ``a[n-2]``, el " +"penúltimo elemento de la secuencia a con longitud ``n``." #: ../Doc/reference/datamodel.rst:313 -#, fuzzy msgid "" "Sequences also support slicing: ``a[i:j]`` selects all items with index *k* " "such that *i* ``<=`` *k* ``<`` *j*. When used as an expression, a slice is " @@ -531,10 +528,10 @@ msgid "" "applies to negative slice positions." msgstr "" "Las secuencias también admiten segmentación: ``a[i:j]`` selecciona todos los " -"elementos con índice *k* de modo que *i* ``<=`` *k* ``<`` *j*. Cuando se " -"usa como una expresión, un segmento es una secuencia del mismo tipo. Esto " -"implica que el conjunto de índices se vuelve a enumerar para que comience en " -"0." +"elementos con índice *k* de modo que *i* ``<=`` *k* ``<`` *j*. Cuando se usa " +"como una expresión, un segmento es una secuencia del mismo tipo. El " +"comentario anterior sobre los índices negativos también aplica a las " +"posiciones de segmento negativas." #: ../Doc/reference/datamodel.rst:318 msgid "" @@ -626,7 +623,6 @@ msgid "Bytes" msgstr "Bytes" #: ../Doc/reference/datamodel.rst:378 -#, fuzzy msgid "" "A bytes object is an immutable array. The items are 8-bit bytes, " "represented by integers in the range 0 <= x < 256. Bytes literals (like " @@ -635,8 +631,8 @@ msgid "" "`~bytes.decode` method." msgstr "" "Un objeto de bytes es una colección inmutable. Los elementos son bytes de 8 " -"bits, representados por enteros en el rango 0 <= x <256. Literales de bytes " -"(como ``b'abc'``) y el constructor incorporado :func:`bytes()` se puede " +"bits, representados por enteros en el rango 0 <= x < 256. Literales de bytes " +"(como ``b'abc'``) y el constructor incorporado :func:`bytes` se puede " "utilizar para crear objetos de bytes. Además, los objetos de bytes se pueden " "decodificar en cadenas de caracteres a través del método :meth:`~bytes." "decode`." @@ -827,12 +823,11 @@ msgstr "" "lugar de mantener su lugar anterior." #: ../Doc/reference/datamodel.rst:499 -#, fuzzy msgid "" "Dictionaries are mutable; they can be created by the ``{}`` notation (see " "section :ref:`dict`)." msgstr "" -"Los diccionarios son mutables; pueden ser creados por la notación ``{...}`` " +"Los diccionarios son mutables; pueden ser creados por la notación ``{}`` " "(vea la sección :ref:`dict`)." #: ../Doc/reference/datamodel.rst:506 @@ -884,9 +879,8 @@ msgstr "" #: ../Doc/reference/datamodel.rst:545 ../Doc/reference/datamodel.rst:1206 #: ../Doc/reference/datamodel.rst:1403 -#, fuzzy msgid "Special read-only attributes" -msgstr "Atributos especiales:" +msgstr "Atributos especiales de solo lectura" #: ../Doc/reference/datamodel.rst:555 ../Doc/reference/datamodel.rst:589 #: ../Doc/reference/datamodel.rst:981 @@ -899,25 +893,22 @@ msgid "Meaning" msgstr "Significado" #: ../Doc/reference/datamodel.rst:559 -#, fuzzy msgid "" "A reference to the :class:`dictionary <dict>` that holds the function's :ref:" "`global variables <naming>` -- the global namespace of the module in which " "the function was defined." msgstr "" -"Una referencia al diccionario que contiene las variables globales de la " -"función --- el espacio de nombres global del módulo en el que se definió la " -"función." +"Una referencia al :class:`dictionary <dict>` que contiene las :ref:`global " +"variables <naming>` de la función -- el espacio de nombres global del módulo " +"en el que se definió la función." #: ../Doc/reference/datamodel.rst:564 -#, fuzzy msgid "" "``None`` or a :class:`tuple` of cells that contain bindings for the " "function's free variables." msgstr "" -"``None`` o una tupla de celdas que contienen enlaces para las variables " -"libres de la función. Vea a continuación para obtener información sobre el " -"atributo ``cell_contents``." +"``None`` o una :class:`tuple` de celdas que contienen enlaces para las " +"variables libres de la función." #: ../Doc/reference/datamodel.rst:567 msgid "" @@ -928,34 +919,33 @@ msgstr "" "para obtener el valor de la celda, así como para establecer el valor." #: ../Doc/reference/datamodel.rst:571 ../Doc/reference/datamodel.rst:1445 -#, fuzzy msgid "Special writable attributes" -msgstr "Atributos especiales:" +msgstr "Atributos especiales de escritura" #: ../Doc/reference/datamodel.rst:584 -#, fuzzy msgid "Most of these attributes check the type of the assigned value:" -msgstr "" -"La mayoría de los atributos etiquetados \"Escribible\" verifican el tipo del " -"valor asignado." +msgstr "La mayoría de estos atributos verifican el tipo del valor asignado:" #: ../Doc/reference/datamodel.rst:593 -#, fuzzy msgid "The function's documentation string, or ``None`` if unavailable." msgstr "" -"El texto de documentación del módulo, o ``None`` si no está disponible." +"El texto de documentación de la función, o ``None`` si no está disponible." #: ../Doc/reference/datamodel.rst:596 msgid "" "The function's name. See also: :attr:`__name__ attributes <definition." "__name__>`." msgstr "" +"El nombre de la función. Vea también: :attr:`atributos __name__ <definition." +"__name__>`." #: ../Doc/reference/datamodel.rst:600 msgid "" "The function's :term:`qualified name`. See also: :attr:`__qualname__ " "attributes <definition.__qualname__>`." msgstr "" +"El :term:`qualified name` de la función. Vea también :attr:`atributos " +"__qualname__ <definition.__qualname__>`." #: ../Doc/reference/datamodel.rst:606 msgid "" @@ -966,63 +956,60 @@ msgstr "" "disponible." #: ../Doc/reference/datamodel.rst:610 -#, fuzzy msgid "" "A :class:`tuple` containing default :term:`parameter` values for those " "parameters that have defaults, or ``None`` if no parameters have a default " "value." msgstr "" -"Una tupla que contiene valores de argumento predeterminados para aquellos " -"argumentos que tienen valores predeterminados, o ``None`` si ningún " -"argumento tiene un valor predeterminado." +"Una :class:`tuple` que contiene valores de :term:`parameter` predeterminados " +"para aquellos argumentos que tienen valores predeterminados, o ``None`` si " +"ningún parámetro tiene un valor predeterminado." #: ../Doc/reference/datamodel.rst:615 -#, fuzzy msgid "" "The :ref:`code object <code-objects>` representing the compiled function " "body." -msgstr "El objeto de código que representa el cuerpo de la función compilada." +msgstr "" +"El :ref:`objeto de código <code-objects>` que representa el cuerpo de la " +"función compilada." #: ../Doc/reference/datamodel.rst:619 -#, fuzzy msgid "" "The namespace supporting arbitrary function attributes. See also: :attr:" "`__dict__ attributes <object.__dict__>`." -msgstr "El espacio de nombres que admite atributos de funciones arbitrarias." +msgstr "" +"El espacio de nombres que admite atributos de funciones arbitrarias. Vea " +"también: :attr:`atributos __dict__ <object.__dict__>`." #: ../Doc/reference/datamodel.rst:623 -#, fuzzy msgid "" "A :class:`dictionary <dict>` containing annotations of :term:`parameters " "<parameter>`. The keys of the dictionary are the parameter names, and " "``'return'`` for the return annotation, if provided. See also: :ref:" "`annotations-howto`." msgstr "" -"Un diccionario que contiene anotaciones de parámetros. Las claves del dict " -"son los nombres de los parámetros, y ``'return'`` para la anotación de " -"retorno, si se proporciona. Para más información sobre trabajar con este " -"atributo, ve :ref:`annotations-howto`." +"Un :class:`diccionario <dict>` que contiene anotaciones de :term:`parámetros " +"<parameter>`. Las claves del diccionario son los nombres de los parámetros, " +"y ``'return'`` para la anotación de retorno, si se proporciona. Para más " +"información sobre trabajar con este atributo, ve :ref:`annotations-howto`." #: ../Doc/reference/datamodel.rst:630 -#, fuzzy msgid "" "A :class:`dictionary <dict>` containing defaults for keyword-only :term:" "`parameters <parameter>`." msgstr "" -"Un diccionario que contiene valores predeterminados para parámetros de solo " -"palabras clave." +"Un :class:`diccionario <dict>` que contiene valores predeterminados para :" +"term:`parámetros <parameter>` de solo palabras clave." #: ../Doc/reference/datamodel.rst:634 -#, fuzzy msgid "" "A :class:`tuple` containing the :ref:`type parameters <type-params>` of a :" "ref:`generic function <generic-functions>`." msgstr "" -"Una tupla que contiene el :ref:`type parameters <type-params>` de un :ref:" -"`generic function <generic-functions>`." +"Un objeto :class:`tuple` que contiene los :ref:`parámetros de tipo <type-" +"params>` de una :ref:`función genérica <generic-functions>`." #: ../Doc/reference/datamodel.rst:639 -#, fuzzy msgid "" "Function objects also support getting and setting arbitrary attributes, " "which can be used, for example, to attach metadata to functions. Regular " @@ -1031,10 +1018,7 @@ msgstr "" "Los objetos de función también admiten la obtención y configuración de " "atributos arbitrarios, que se pueden usar, por ejemplo, para adjuntar " "metadatos a funciones. La notación de puntos de atributo regular se utiliza " -"para obtener y establecer dichos atributos. *Tenga en cuenta que la " -"implementación actual solo admite atributos de función en funciones " -"definidas por el usuario. Los atributos de función en funciones integradas " -"pueden ser compatibles en el futuro.*" +"para obtener y establecer dichos atributos." #: ../Doc/reference/datamodel.rst:645 msgid "" @@ -1042,6 +1026,9 @@ msgid "" "defined functions. Function attributes on :ref:`built-in functions <builtin-" "functions>` may be supported in the future." msgstr "" +"La implementación actual de CPython solo admite atributos de función en " +"funciones definidas por el usuario. Los atributos de función en :ref:" +"`funciones incorporadas <builtin-functions>` se pueden soportar en el futuro." #: ../Doc/reference/datamodel.rst:650 msgid "" @@ -1049,6 +1036,9 @@ msgid "" "its :ref:`code object <code-objects>` (accessible via the :attr:`~function." "__code__` attribute)." msgstr "" +"Se puede obtener información adicional sobre la definición de una función a " +"partir de su :ref:`código de objeto <code-objects>` (accesible a través del " +"atributo :attr:`~function.__code__`)." #: ../Doc/reference/datamodel.rst:658 msgid "Instance methods" @@ -1063,19 +1053,21 @@ msgstr "" "cualquier objeto invocable (normalmente una función definida por el usuario)." #: ../Doc/reference/datamodel.rst:675 ../Doc/reference/datamodel.rst:1541 -#, fuzzy msgid "Special read-only attributes:" -msgstr "Atributos especiales:" +msgstr "Atributos especiales de solo lectura:" #: ../Doc/reference/datamodel.rst:680 msgid "" "Refers to the class instance object to which the method is :ref:`bound " "<method-binding>`" msgstr "" +"Hace referencia al objeto de instancia de la clase al que está :ref:" +"`vinculado <method-binding>` el método" #: ../Doc/reference/datamodel.rst:684 msgid "Refers to the original :ref:`function object <user-defined-funcs>`" msgstr "" +"Hace referencia al :ref:`objeto de función <user-defined-funcs>` original" #: ../Doc/reference/datamodel.rst:687 msgid "" @@ -1083,32 +1075,35 @@ msgid "" "__doc__>`). A :class:`string <str>` if the original function had a " "docstring, else ``None``." msgstr "" +"La documentación del método (igual que :attr:`method.__func__.__doc__ " +"<function.__doc__>`). Una :class:`cadena de caracteres <str>` si la función " +"original tenía un docstring, de lo contrario ``None``." #: ../Doc/reference/datamodel.rst:693 msgid "" "The name of the method (same as :attr:`method.__func__.__name__ <function." "__name__>`)" msgstr "" +"El nombre del método (igual que :attr:`method.__func__.__name__ <function." +"__name__>`)" #: ../Doc/reference/datamodel.rst:697 -#, fuzzy msgid "" "The name of the module the method was defined in, or ``None`` if unavailable." msgstr "" -"El nombre del módulo en el que se definió la función, o ``None`` si no está " +"El nombre del módulo en el que se definió el método, o ``None`` si no está " "disponible." #: ../Doc/reference/datamodel.rst:700 -#, fuzzy msgid "" "Methods also support accessing (but not setting) the arbitrary function " "attributes on the underlying :ref:`function object <user-defined-funcs>`." msgstr "" "Los métodos también admiten obtener (más no establecer) los atributos " -"arbitrarios de la función en el objeto de función subyacente." +"arbitrarios de la función en el :ref:`objeto de función <user-defined-" +"funcs>` subyacente." #: ../Doc/reference/datamodel.rst:703 -#, fuzzy msgid "" "User-defined method objects may be created when getting an attribute of a " "class (perhaps via an instance of that class), if that attribute is a user-" @@ -1117,11 +1112,10 @@ msgid "" msgstr "" "Los objetos de métodos definidos por usuarios pueden ser creados al obtener " "el atributo de una clase (probablemente a través de la instancia de dicha " -"clase), si tal atributo es el objeto de una función definida por el usuario " -"o el objeto del método de una clase." +"clase), si tal atributo es un :ref:`objeto de función <user-defined-funcs>` " +"definido por el usuario o un objeto :class:`classmethod`." #: ../Doc/reference/datamodel.rst:710 -#, fuzzy msgid "" "When an instance method object is created by retrieving a user-defined :ref:" "`function object <user-defined-funcs>` from a class via one of its " @@ -1129,27 +1123,25 @@ msgid "" "method object is said to be *bound*. The new method's :attr:`~method." "__func__` attribute is the original function object." msgstr "" -"Cuando un objeto de instancia de método es creado al obtener un objeto de " -"función definida por el usuario desde una clase a través de una de sus " -"instancias, su atributo :attr:`__self__` es la instancia, y el objeto de " -"método se dice que está enlazado. El nuevo atributo de método :attr:" -"`__func__` es el objeto de función original." +"Cuando un objeto de instancia de método es creado al obtener un :ref:`objeto " +"de función <user-defined-funcs>` definida por el usuario desde una clase a " +"través de una de sus instancias, su atributo :attr:`~method.__self__` es la " +"instancia, y el objeto de método se dice que está *enlazado*. El nuevo " +"atributo de método :attr:`__func__` es el objeto de función original." #: ../Doc/reference/datamodel.rst:716 -#, fuzzy msgid "" "When an instance method object is created by retrieving a :class:" "`classmethod` object from a class or instance, its :attr:`~method.__self__` " "attribute is the class itself, and its :attr:`~method.__func__` attribute is " "the function object underlying the class method." msgstr "" -"Cuando un objeto de instancia de método es creado al obtener un objeto de " -"método de clase a partir de una clase o instancia, su atributo :attr:" -"`__self__` es la clase misma, y su atributo :attr:`__func__` es el objeto de " -"función subyacente al método de la clase." +"Cuando un objeto de instancia de método es creado al obtener un objeto :" +"class:`classmethod` a partir de una clase o instancia, su atributo :attr:" +"`~method.__self__` es la clase misma, y su atributo :attr:`~method.__func__` " +"es el objeto de función subyacente al método de la clase." #: ../Doc/reference/datamodel.rst:721 -#, fuzzy msgid "" "When an instance method object is called, the underlying function (:attr:" "`~method.__func__`) is called, inserting the class instance (:attr:`~method." @@ -1159,14 +1151,13 @@ msgid "" "f(x, 1)``." msgstr "" "Cuando el objeto de la instancia de método es invocado, la función " -"subyacente (:attr:`__func__`) es llamada, insertando la instancia de clase (:" -"attr:`__self__`) delante de la lista de argumentos. Por ejemplo, cuando :" -"class:`C` es una clase que contiene la definición de una función :meth:`f`, " -"y ``x`` es una instancia de :class:`C`, invocar ``x.f(1)`` es equivalente a " -"invocar ``C.f(x, 1)``." +"subyacente (:attr:`~method.__func__`) es llamada, insertando la instancia de " +"clase (:attr:`~method.__self__`) delante de la lista de argumentos. Por " +"ejemplo, cuando :class:`!C` es una clase que contiene la definición de una " +"función :meth:`!f`, y ``x`` es una instancia de :class:`!C`, invocar ``x." +"f(1)`` es equivalente a invocar ``C.f(x, 1)``." #: ../Doc/reference/datamodel.rst:728 -#, fuzzy msgid "" "When an instance method object is derived from a :class:`classmethod` " "object, the \"class instance\" stored in :attr:`~method.__self__` will " @@ -1174,10 +1165,11 @@ msgid "" "f(1)`` is equivalent to calling ``f(C,1)`` where ``f`` is the underlying " "function." msgstr "" -"Cuando el objeto de instancia de método es derivado del objeto del método de " -"clase, la “instancia de clase” almacenada en :attr:`__self__` en realidad " -"será la clase misma, de manera que invocar ya sea ``x.f(1)`` o ``C.f(1)`` es " -"equivalente a invocar ``f(C,1)`` donde ``f`` es la función subyacente." +"Cuando el objeto de instancia de método es derivado del objeto :class:" +"`classmethod`, la \"instancia de clase\" almacenada en :attr:`~method." +"__self__` en realidad será la clase misma, de manera que invocar ya sea ``x." +"f(1)`` o ``C.f(1)`` es equivalente a invocar ``f(C,1)`` donde ``f`` es la " +"función subyacente." #: ../Doc/reference/datamodel.rst:733 msgid "" @@ -1185,6 +1177,9 @@ msgid "" "a class instance are not converted to bound methods; this *only* happens " "when the function is an attribute of the class." msgstr "" +"Es importante señalar que las funciones definidas por el usuario que son " +"atributos de una instancia de una clase no se convierten en métodos " +"enlazados; esto *solo* ocurre cuando la función es un atributo de la clase." #: ../Doc/reference/datamodel.rst:740 msgid "Generator functions" @@ -1270,7 +1265,6 @@ msgid "Built-in functions" msgstr "Funciones incorporadas" #: ../Doc/reference/datamodel.rst:803 -#, fuzzy msgid "" "A built-in function object is a wrapper around a C function. Examples of " "built-in functions are :func:`len` and :func:`math.sin` (:mod:`math` is a " @@ -1278,49 +1272,43 @@ msgid "" "determined by the C function. Special read-only attributes:" msgstr "" "Un objeto de función incorporada es un envoltorio (wrapper) alrededor de una " -"función C. Ejemplos de funciones incorporadas son :func:`len` y :func:`math." +"función C. Ejemplos de funciones incorporadas son :func:`len` y :func:`math." "sin` (:mod:`math` es un módulo estándar incorporado). El número y tipo de " "argumentos son determinados por la función C. Atributos especiales de solo " -"lectura: :attr:`__doc__` es la cadena de documentación de la función, o " -"``None`` si no se encuentra disponible; :attr:`~definition.__name__` es el " -"nombre de la función; :attr:`__init__` es establecido como ``None`` (sin " -"embargo ver el siguiente elemento); :attr:`__module__` es el nombre del " -"módulo en el que la función fue definida o ``None`` si no se encuentra " -"disponible." +"lectura:" #: ../Doc/reference/datamodel.rst:808 -#, fuzzy msgid "" ":attr:`!__doc__` is the function's documentation string, or ``None`` if " "unavailable. See :attr:`function.__doc__`." msgstr "" -"El texto de documentación de la función, o ``None`` si no está disponible; " -"no heredado por subclases." +":attr:`!__doc__` es el texto de documentación de la función, o ``None`` si " +"no está disponible. Vea :attr:`function.__doc__`." #: ../Doc/reference/datamodel.rst:810 msgid "" ":attr:`!__name__` is the function's name. See :attr:`function.__name__`." msgstr "" +":attr:`!__name__` es el nombre de la función. Vea :attr:`function.__name__`." #: ../Doc/reference/datamodel.rst:811 msgid ":attr:`!__self__` is set to ``None`` (but see the next item)." msgstr "" +":attr:`!__self__` se establece en ``None`` (pero vea el siguiente punto)." #: ../Doc/reference/datamodel.rst:812 -#, fuzzy msgid "" ":attr:`!__module__` is the name of the module the function was defined in or " "``None`` if unavailable. See :attr:`function.__module__`." msgstr "" -"El nombre del módulo en el que se definió la función, o ``None`` si no está " -"disponible." +":attr:`!__module__` es el nombre del módulo en el que se definió la función " +"o ``None`` si no está disponible. Vea :attr:`function.__module__`." #: ../Doc/reference/datamodel.rst:820 msgid "Built-in methods" msgstr "Métodos incorporados" #: ../Doc/reference/datamodel.rst:827 -#, fuzzy msgid "" "This is really a different disguise of a built-in function, this time " "containing an object passed to the C function as an implicit extra " @@ -1332,17 +1320,17 @@ msgid "" msgstr "" "Éste es realmente un disfraz distinto de una función incorporada, esta vez " "teniendo un objeto que se pasa a la función C como un argumento extra " -"implícito. Un ejemplo de un método incorporado es ``alist.append()``, " +"implícito. Un ejemplo de un método incorporado es ``alist.append()``, " "asumiendo que *alist* es un objeto de lista. En este caso, el atributo " -"especial de solo lectura :attr:`__self__` es establecido al objeto indicado " -"por *alist*." +"especial de solo lectura :attr:`!__self__` es establecido al objeto indicado " +"por *alist*. (El atributo tiene la misma semántica que con :attr:`otros " +"métodos de instancia <method.__self__>`.)" #: ../Doc/reference/datamodel.rst:837 msgid "Classes" msgstr "Clases" #: ../Doc/reference/datamodel.rst:839 -#, fuzzy msgid "" "Classes are callable. These objects normally act as factories for new " "instances of themselves, but variations are possible for class types that " @@ -1353,7 +1341,7 @@ msgstr "" "Las clases son invocables. Estos objetos normalmente actúan como fábricas " "para nuevas instancias de sí mismos, pero son posibles variaciones para los " "tipos de clases que anulan :meth:`~object.__new__`. Los argumentos de la " -"llamada se pasan a :meth:`__new__` y, en el caso típico, a :meth:`~object." +"llamada se pasan a :meth:`!__new__` y, en el caso típico, a :meth:`~object." "__init__` para inicializar la nueva instancia." #: ../Doc/reference/datamodel.rst:847 @@ -1373,7 +1361,6 @@ msgid "Modules" msgstr "Módulos" #: ../Doc/reference/datamodel.rst:860 -#, fuzzy msgid "" "Modules are a basic organizational unit of Python code, and are created by " "the :ref:`import system <importsystem>` as invoked either by the :keyword:" @@ -1388,16 +1375,16 @@ msgid "" "done)." msgstr "" "Los módulos son una unidad básica organizacional en código Python, y son " -"creados por el :ref:`import system <importsystem>` al ser invocados ya sea " -"por la declaración :keyword:`import`, o invocando funciones como :func:" -"`importlib.import_module` y la incorporada :func:`__import__`. Un objeto de " -"módulo tiene un espacio de nombres implementado por un objeto de diccionario " -"(éste es el diccionario al que hace referencia el atributo de funciones " -"``__globals__`` definido en el módulo). Las referencias de atributos son " -"traducidas a búsquedas en este diccionario, p. ej., ``m.x`` es equivalente a " -"``m.__dict__[“x”]``. Un objeto de módulo no contiene el objeto de código " -"utilizado para iniciar el módulo (ya que no es necesario una vez que la " -"inicialización es realizada)." +"creados por el :ref:`sistema de importación <importsystem>` al ser invocados " +"ya sea por la declaración :keyword:`import`, o invocando funciones como :" +"func:`importlib.import_module` y la incorporada :func:`__import__`. Un " +"objeto de módulo tiene un espacio de nombres implementado por un objeto :" +"class:`diccionario <dict>` (éste es el diccionario al que hace referencia el " +"atributo de funciones :attr:`~function.__globals__` definido en el módulo). " +"Las referencias de atributos son traducidas a búsquedas en este diccionario, " +"p. ej., ``m.x`` es equivalente a ``m.__dict__[\"x\"]``. Un objeto de módulo " +"no contiene el objeto de código utilizado para iniciar el módulo (ya que no " +"es necesario una vez que la inicialización es realizada)." #: ../Doc/reference/datamodel.rst:873 msgid "" @@ -1488,7 +1475,6 @@ msgid "Custom classes" msgstr "Clases personalizadas" #: ../Doc/reference/datamodel.rst:925 -#, fuzzy msgid "" "Custom class types are typically created by class definitions (see section :" "ref:`class`). A class has a namespace implemented by a dictionary object. " @@ -1503,21 +1489,19 @@ msgid "" "found at :ref:`python_2.3_mro`." msgstr "" "Los tipos de clases personalizadas son normalmente creadas por definiciones " -"de clases (ver sección :ref:`class`). Una clase tiene implementado un " +"de clases (ver sección :ref:`class`). Una clase tiene implementado un " "espacio de nombres por un objeto de diccionario. Las referencias de " "atributos de clase son traducidas a búsquedas en este diccionario, p. ej., " -"``C.x`` es traducido a ``C.__dict__[“x”]`` (aunque hay una serie de enlaces " -"que permiten la ubicación de atributos por otros medios). Cuando el nombre " -"de atributo no es encontrado ahí, la búsqueda de atributo continúa en las " -"clases base. Esta búsqueda de las clases base utiliza la orden de resolución " -"de métodos C3 que se comporta correctamente aún en la presencia de " -"estructuras de herencia ‘diamante’ donde existen múltiples rutas de herencia " -"que llevan a un ancestro común. Detalles adicionales en el MRO C3 utilizados " -"por Python pueden ser encontrados en la documentación correspondiente a la " -"versión 2.3 en https://www.python.org/download/releases/2.3/mro/." +"``C.x`` es traducido a ``C.__dict__[\"x\"]`` (aunque hay una serie de " +"enlaces que permiten la ubicación de atributos por otros medios). Cuando el " +"nombre de atributo no es encontrado ahí, la búsqueda de atributo continúa en " +"las clases base. Esta búsqueda de las clases base utiliza la orden de " +"resolución de métodos C3 que se comporta correctamente aún en la presencia " +"de estructuras de herencia 'diamante' donde existen múltiples rutas de " +"herencia que llevan a un ancestro común. Detalles adicionales en el MRO C3 " +"utilizados por Python pueden ser encontrados en :ref:`python_2.3_mro`." #: ../Doc/reference/datamodel.rst:946 -#, fuzzy msgid "" "When a class attribute reference (for class :class:`!C`, say) would yield a " "class method object, it is transformed into an instance method object whose :" @@ -1528,13 +1512,13 @@ msgid "" "contained in its :attr:`~object.__dict__`." msgstr "" "Cuando la referencia de un atributo de clase (digamos, para la clase :class:" -"`C`) produce un objeto de método de clase, éste es transformado a un objeto " -"de método de instancia cuyo atributo :attr:`__self__` es :class:`C`. Cuando " -"produce un objeto de un método estático, éste es transformado al objeto " -"envuelto por el objeto de método estático. Ver sección :ref:`descriptors` " -"para otra manera en la que los atributos obtenidos de una clase pueden " -"diferir de los que en realidad están contenidos en su :attr:`~object." -"__dict__`." +"`!C`) produce un objeto de método de clase, éste es transformado a un objeto " +"de método de instancia cuyo atributo :attr:`~method.__self__` es :class:`!" +"C`. Cuando produce un objeto :class:`staticmethod`, éste es transformado al " +"objeto envuelto por el objeto de método estático. Ver sección :ref:" +"`descriptors` para otra manera en la que los atributos obtenidos de una " +"clase pueden diferir de los que en realidad están contenidos en su :attr:" +"`~object.__dict__`." #: ../Doc/reference/datamodel.rst:957 msgid "" @@ -1553,21 +1537,24 @@ msgstr "" "instancia de clase (ver a continuación)." #: ../Doc/reference/datamodel.rst:965 ../Doc/reference/datamodel.rst:1112 -#, fuzzy msgid "Special attributes" -msgstr "Atributos especiales:" +msgstr "Atributos especiales" #: ../Doc/reference/datamodel.rst:985 msgid "" "The class's name. See also: :attr:`__name__ attributes <definition." "__name__>`." msgstr "" +"El nombre de la clase. Vea también: :attr:`atributos __name__ <definition." +"__name__>`." #: ../Doc/reference/datamodel.rst:989 msgid "" "The class's :term:`qualified name`. See also: :attr:`__qualname__ attributes " "<definition.__qualname__>`." msgstr "" +"El :term:`qualified name` de la clase. Vea también: :attr:`atributos " +"__qualname__ <definition.__qualname__>`." #: ../Doc/reference/datamodel.rst:993 msgid "The name of the module in which the class was defined." @@ -1579,6 +1566,9 @@ msgid "" "of the class's namespace. See also: :attr:`__dict__ attributes <object." "__dict__>`." msgstr "" +"Un :class:`proxy de mapeo <types.MappingProxyType>` que proporciona una " +"vista de solo lectura del espacio de nombres de la clase. Vea también: :attr:" +"`atributos __dict__ <object.__dict__>`." #: ../Doc/reference/datamodel.rst:1001 msgid "" @@ -1586,26 +1576,27 @@ msgid "" "defined as ``class X(A, B, C)``, ``X.__bases__`` will be exactly equal to " "``(A, B, C)``." msgstr "" +"Un objeto :class:`tuple` que contiene las bases de la clase. En la mayoría " +"de los casos, para una clase definida como ``class X(A, B, C)``, ``X." +"__bases__`` será exactamente igual a ``(A, B, C)``." #: ../Doc/reference/datamodel.rst:1006 -#, fuzzy msgid "" "The class's documentation string, or ``None`` if undefined. Not inherited by " "subclasses." msgstr "" -"El texto de documentación de la función, o ``None`` si no está disponible; " -"no heredado por subclases." +"El texto de documentación de la clase, o ``None`` si no está disponible. No " +"heredado por subclases." #: ../Doc/reference/datamodel.rst:1010 -#, fuzzy msgid "" "A dictionary containing :term:`variable annotations <variable annotation>` " "collected during class body execution. For best practices on working with :" "attr:`!__annotations__`, please see :ref:`annotations-howto`." msgstr "" -"Un diccionario conteniendo el :term:`variable annotations <variable " +"Un diccionario que contiene :term:`anotaciones de variable <variable " "annotation>` recopilados durante la ejecución del cuerpo de la clase. Para " -"buenas prácticas sobre trabajar con :attr:`__annotations__`, por favor ve :" +"buenas prácticas sobre trabajar con :attr:`!__annotations__`, por favor ve :" "ref:`annotations-howto`." #: ../Doc/reference/datamodel.rst:1017 @@ -1615,21 +1606,26 @@ msgid "" "attribute may not exist for some classes. Use :func:`inspect." "get_annotations` to retrieve class annotations safely." msgstr "" +"Acceder directamente al atributo :attr:`!__annotations__` de un objeto de " +"clase puede producir resultados incorrectos en la presencia de metaclases. " +"Además, el atributo puede no existir para algunas clases. Use :func:`inspect." +"get_annotations` para recuperar anotaciones de clase de forma segura." #: ../Doc/reference/datamodel.rst:1024 -#, fuzzy msgid "" "A :class:`tuple` containing the :ref:`type parameters <type-params>` of a :" "ref:`generic class <generic-classes>`." msgstr "" -"Una tupla que contiene el :ref:`type parameters <type-params>` de un :ref:" -"`generic class <generic-classes>`." +"Una objeto :class:`tuple` que contiene :ref:`parámetros de tipo <type-" +"params>` de una :ref:`clase genérica <generic-classes>`." #: ../Doc/reference/datamodel.rst:1030 msgid "" "A :class:`tuple` containing names of attributes of this class which are " "assigned through ``self.X`` from any function in its body." msgstr "" +"Un objeto :class:`tuple` que contiene nombres de atributos de esta clase que " +"se asignan a través de ``self.X`` desde cualquier función en su cuerpo." #: ../Doc/reference/datamodel.rst:1036 msgid "" @@ -1637,23 +1633,29 @@ msgid "" "decorators. Setting the :attr:`__module__` attribute removes the :attr:`!" "__firstlineno__` item from the type's dictionary." msgstr "" +"El número de línea de la primer línea de la definición de clase, incluidos " +"los decoradores. Al establecer el atributo :attr:`__module__` se elimina el " +"elemento :attr:`!__firstlineno__` del diccionario del tipo." #: ../Doc/reference/datamodel.rst:1044 msgid "" "The :class:`tuple` of classes that are considered when looking for base " "classes during method resolution." msgstr "" +"El objeto :class:`tuple` de clases que se consideran al buscar clases base " +"durante la resolución del métodos." #: ../Doc/reference/datamodel.rst:1049 -#, fuzzy msgid "Special methods" -msgstr "Nombres especiales de método" +msgstr "Métodos especiales" #: ../Doc/reference/datamodel.rst:1051 msgid "" "In addition to the special attributes described above, all Python classes " "also have the following two methods available:" msgstr "" +"Además de los atributos especiales descritos anteriormente, todas las clases " +"de Python también tienen los siguientes dos métodos disponibles:" #: ../Doc/reference/datamodel.rst:1056 msgid "" @@ -1661,6 +1663,9 @@ msgid "" "resolution order for its instances. It is called at class instantiation, " "and its result is stored in :attr:`~type.__mro__`." msgstr "" +"Este método se puede anular por una metaclase para personalizar el orden de " +"resolución de métodos para sus instancias. Se llama en la instanciación de " +"la clase, y su resultado se almacena en :attr:`~type.__mro__`." #: ../Doc/reference/datamodel.rst:1062 msgid "" @@ -1668,6 +1673,9 @@ msgid "" "method returns a list of all those references still alive. The list is in " "definition order. Example:" msgstr "" +"Cada clase mantiene una lista de referencias débiles a sus subclases " +"inmediatas. Este método retorna una lista de todas esas referencias aún " +"vivas. La lista está en orden de definición. Ejemplo:" #: ../Doc/reference/datamodel.rst:1066 msgid "" @@ -1676,13 +1684,16 @@ msgid "" ">>> A.__subclasses__()\n" "[<class 'B'>]" msgstr "" +">>> class A: pass\n" +">>> class B(A): pass\n" +">>> A.__subclasses__()\n" +"[<class 'B'>]" #: ../Doc/reference/datamodel.rst:1074 msgid "Class instances" msgstr "Instancias de clase" #: ../Doc/reference/datamodel.rst:1082 -#, fuzzy msgid "" "A class instance is created by calling a class object (see above). A class " "instance has a namespace implemented as a dictionary which is the first " @@ -1705,14 +1716,14 @@ msgstr "" "instancia tiene un atributo con ese nombre, la búsqueda continúa con los " "atributos de la clase. Si se encuentra un atributo de clase que es un objeto " "de función definido por el usuario, se transforma en un objeto de método de " -"instancia cuyo atributo :attr:`__self__` es la instancia. Los objetos de " -"métodos estáticos y de clases también se transforman; consulte más arriba en " -"\"Clases\". Consulte la sección :ref:`descriptors` para conocer otra forma " -"en la que los atributos de una clase recuperados a través de sus instancias " -"pueden diferir de los objetos realmente almacenados en el :attr:`~object." -"__dict__` de la clase. Si no se encuentra ningún atributo de clase y la " -"clase del objeto tiene un método :meth:`~object.__getattr__`, se llama para " -"satisfacer la búsqueda." +"instancia cuyo atributo :attr:`~method.__self__` es la instancia. Los " +"objetos de métodos estáticos y de clases también se transforman; consulte " +"más arriba en \"Clases\". Consulte la sección :ref:`descriptors` para " +"conocer otra forma en la que los atributos de una clase recuperados a través " +"de sus instancias pueden diferir de los objetos realmente almacenados en el :" +"attr:`~object.__dict__` de la clase. Si no se encuentra ningún atributo de " +"clase y la clase del objeto tiene un método :meth:`~object.__getattr__`, se " +"llama para satisfacer la búsqueda." #: ../Doc/reference/datamodel.rst:1098 msgid "" @@ -1737,7 +1748,7 @@ msgstr "" #: ../Doc/reference/datamodel.rst:1120 msgid "The class to which a class instance belongs." -msgstr "" +msgstr "La clase a la que pertenece una instancia de clase." #: ../Doc/reference/datamodel.rst:1124 msgid "" @@ -1745,6 +1756,9 @@ msgid "" "attributes. Not all instances have a :attr:`!__dict__` attribute; see the " "section on :ref:`slots` for more details." msgstr "" +"Un diccionario u otro objeto de mapeo utilizado para almacenar los atributos " +"(escribibles) de un objeto. No todas las instancias tienen un atributo :attr:" +"`!__dict__`; vea la sección sobre :ref:`slots` para más detalles." #: ../Doc/reference/datamodel.rst:1130 msgid "I/O objects (also known as file objects)" @@ -1818,14 +1832,12 @@ msgstr "" "objetos mutables." #: ../Doc/reference/datamodel.rst:1211 -#, fuzzy msgid "The function name" -msgstr "El nombre de la función." +msgstr "El nombre de la función" #: ../Doc/reference/datamodel.rst:1214 -#, fuzzy msgid "The fully qualified function name" -msgstr "El nombre de la función." +msgstr "El nombre de la función completamente calificado" #: ../Doc/reference/datamodel.rst:1219 msgid "" @@ -1833,91 +1845,118 @@ msgid "" "positional-only parameters and parameters with default values) that the " "function has" msgstr "" +"El número total de :term:`parámetros <parameter>` posicionales (incluye los " +"parámetros solo posicionales y los parámetros con valores predeterminados) " +"que tiene la función" #: ../Doc/reference/datamodel.rst:1224 msgid "" "The number of positional-only :term:`parameters <parameter>` (including " "arguments with default values) that the function has" msgstr "" +"El número de :term:`parámetros <parameter>` solo posicionales (incluye " +"argumentos con valores predeterminados) que tiene la función" #: ../Doc/reference/datamodel.rst:1228 msgid "" "The number of keyword-only :term:`parameters <parameter>` (including " "arguments with default values) that the function has" msgstr "" +"El número de :term:`parámetros <parameter>` de solo palabras clave (incluye " +"argumentos con valores predeterminados) que tiene la función" #: ../Doc/reference/datamodel.rst:1232 msgid "" "The number of :ref:`local variables <naming>` used by the function " "(including parameters)" msgstr "" +"El número de :ref:`variables locales <naming>` utilizadas por la función " +"(incluye los parámetros)" #: ../Doc/reference/datamodel.rst:1236 msgid "" "A :class:`tuple` containing the names of the local variables in the function " "(starting with the parameter names)" msgstr "" +"Un objeto :class:`tuple` que contiene los nombres de las variables locales " +"en la función (empezando por los nombres de los parámetros)" #: ../Doc/reference/datamodel.rst:1240 msgid "" "A :class:`tuple` containing the names of :ref:`local variables <naming>` " "that are referenced by nested functions inside the function" msgstr "" +"Un objeto :class:`tuple` que contiene los nombres de las :ref:`variables " +"locales <naming>` a las que hacen referencia las funciones anidadas dentro " +"de la función" #: ../Doc/reference/datamodel.rst:1244 msgid "A :class:`tuple` containing the names of free variables in the function" msgstr "" +"Un objeto :class:`tuple` que contiene los nombres de las variables libres en " +"la función" #: ../Doc/reference/datamodel.rst:1247 msgid "" "A string representing the sequence of :term:`bytecode` instructions in the " "function" msgstr "" +"Una cadena de caracteres que representa la secuencia de instrucciones :term:" +"`bytecode` en la función" #: ../Doc/reference/datamodel.rst:1251 msgid "" "A :class:`tuple` containing the literals used by the :term:`bytecode` in the " "function" msgstr "" +"Un objeto :class:`tuple` que contiene los literales utilizados por :term:" +"`bytecode` en la función" #: ../Doc/reference/datamodel.rst:1255 msgid "" "A :class:`tuple` containing the names used by the :term:`bytecode` in the " "function" msgstr "" +"Un objeto :class:`tuple` que contiene los nombres utilizados por :term:" +"`bytecode` en la función" #: ../Doc/reference/datamodel.rst:1259 -#, fuzzy msgid "The name of the file from which the code was compiled" -msgstr "El nombre del módulo en el que se definió la clase." +msgstr "El nombre del archivo en el que se compiló el código" #: ../Doc/reference/datamodel.rst:1262 msgid "The line number of the first line of the function" -msgstr "" +msgstr "El número de línea de la primer línea de la función" #: ../Doc/reference/datamodel.rst:1265 msgid "" "A string encoding the mapping from :term:`bytecode` offsets to line numbers. " "For details, see the source code of the interpreter." msgstr "" +"Una cadena de caracteres que codifica la asignación de los desplazamientos " +"de :term:`bytecode` a los números de línea. Para obtener más detalles, vea " +"el código fuente del intérprete." #: ../Doc/reference/datamodel.rst:1268 msgid "" "This attribute of code objects is deprecated, and may be removed in Python " "3.14." msgstr "" +"Este atributo de los objetos de código está obsoleto, y puede ser eliminado " +"en Python 3.14." #: ../Doc/reference/datamodel.rst:1273 msgid "The required stack size of the code object" -msgstr "" +msgstr "El tamaño de pila requerido del objeto de código" #: ../Doc/reference/datamodel.rst:1276 msgid "" "An :class:`integer <int>` encoding a number of flags for the interpreter." msgstr "" +"Un :class:`entero <int>` que codifica un número de banderas para el " +"intérprete." #: ../Doc/reference/datamodel.rst:1281 -#, fuzzy msgid "" "The following flag bits are defined for :attr:`~codeobject.co_flags`: bit " "``0x04`` is set if the function uses the ``*arguments`` syntax to accept an " @@ -1927,15 +1966,16 @@ msgid "" "`inspect-module-co-flags` for details on the semantics of each flags that " "might be present." msgstr "" -"Los siguientes bits de bandera son definidos por :attr:`co_flags` : bit " -"``0x04`` es establecido si la función utiliza la sintaxis ``*arguments`` " -"para aceptar un número arbitrario de argumentos posicionales; bit ``0x08`` " -"es establecido si la función utiliza la sintaxis ``**keywords`` para aceptar " -"argumentos de palabras clave arbitrarios; bit ``0x20`` es establecido si la " -"función es un generador." +"Los siguientes bits de bandera son definidos por :attr:`~codeobject." +"co_flags`: el bit ``0x04`` es establecido si la función utiliza la sintaxis " +"``*arguments`` para aceptar un número arbitrario de argumentos posicionales; " +"el bit ``0x08`` es establecido si la función utiliza la sintaxis " +"``**keywords`` para aceptar argumentos de palabras clave arbitrarios; el bit " +"``0x20`` es establecido si la función es un generador. Vea :ref:`inspect-" +"module-co-flags` para más detalles sobre la semántica de cada bandera que " +"pueda estar presente." #: ../Doc/reference/datamodel.rst:1289 -#, fuzzy msgid "" "Future feature declarations (``from __future__ import division``) also use " "bits in :attr:`~codeobject.co_flags` to indicate whether a code object was " @@ -1944,56 +1984,52 @@ msgid "" "``0x1000`` were used in earlier versions of Python." msgstr "" "Declaraciones de características futuras (``from __future__ import " -"division``) también utiliza bits en :attr:`co_flags` para indicar si el " -"objeto de código fue compilado con alguna característica particular " -"habilitada: el bit ``0x2000`` es establecido si la función fue compilada con " -"división futura habilitada; los bits ``0x10`` y ``0x1000`` fueron utilizados " -"en versiones previas de Python." +"division``) también utiliza bits en :attr:`~codeobject.co_flags` para " +"indicar si el objeto de código fue compilado con alguna característica " +"particular habilitada: el bit ``0x2000`` es establecido si la función fue " +"compilada con división futura habilitada; los bits ``0x10`` y ``0x1000`` " +"fueron utilizados en versiones previas de Python." #: ../Doc/reference/datamodel.rst:1295 -#, fuzzy msgid "" "Other bits in :attr:`~codeobject.co_flags` are reserved for internal use." -msgstr "Otros bits en :attr:`co_flags` son reservados para uso interno." +msgstr "" +"Otros bits en :attr:`~codeobject.co_flags` son reservados para uso interno." #: ../Doc/reference/datamodel.rst:1299 -#, fuzzy msgid "" "If a code object represents a function, the first item in :attr:`~codeobject." "co_consts` is the documentation string of the function, or ``None`` if " "undefined." msgstr "" "Si un objeto de código representa una función, el primer elemento en :attr:" -"`co_consts` es la cadena de documentación de la función, o ``None`` si no " -"está definido." +"`~codeobject.co_consts` es la cadena de documentación de la función, o " +"``None`` si no está definido." #: ../Doc/reference/datamodel.rst:1304 -#, fuzzy msgid "Methods on code objects" -msgstr "Objetos de código" +msgstr "Métodos en objetos de código" #: ../Doc/reference/datamodel.rst:1308 -#, fuzzy msgid "" "Returns an iterable over the source code positions of each :term:`bytecode` " "instruction in the code object." msgstr "" "Retorna un iterable sobre las posiciones del código fuente de cada " -"instrucción de código de bytes en el objeto de código." +"instrucción de :term:`bytecode` en el objeto de código." #: ../Doc/reference/datamodel.rst:1311 -#, fuzzy msgid "" "The iterator returns :class:`tuple`\\s containing the ``(start_line, " "end_line, start_column, end_column)``. The *i-th* tuple corresponds to the " "position of the source code that compiled to the *i-th* code unit. Column " "information is 0-indexed utf-8 byte offsets on the given source line." msgstr "" -"El iterador retorna tuplas que contienen ``(start_line, end_line, " -"start_column, end_column)``. La tupla *i-th* corresponde a la posición del " -"código fuente que se compiló en la instrucción *i-th*. La información de la " -"columna son compensaciones de utf-8 bytes indexadas en 0 en la línea de " -"origen dada." +"El iterador retorna objetos :class:`tuple` que contienen ``(start_line, " +"end_line, start_column, end_column)``. La tupla *i-ésima* corresponde a la " +"posición del código fuente que se compiló en la unidad de código *i-ésima*. " +"La información de la columna son desplazamientos de bytes utf-8 indexados en " +"0 en la línea de origen dada." #: ../Doc/reference/datamodel.rst:1317 msgid "" @@ -2055,18 +2091,25 @@ msgid "" "`bytecode`\\s. Each item yielded is a ``(start, end, lineno)`` :class:" "`tuple`:" msgstr "" +"Retorna un iterador que produce información sobre rangos sucesivos de " +"objetos :term:`bytecode`. Cada elemento que se produjo es un objeto :class:" +"`tuple` ``(start, end, lineno)``:" #: ../Doc/reference/datamodel.rst:1345 msgid "" "``start`` (an :class:`int`) represents the offset (inclusive) of the start " "of the :term:`bytecode` range" msgstr "" +"``start`` (un objeto :class:`int`) representa el desplazamiento (inclusivo) " +"del inicio del rango de :term:`bytecode`" #: ../Doc/reference/datamodel.rst:1347 msgid "" "``end`` (an :class:`int`) represents the offset (exclusive) of the end of " "the :term:`bytecode` range" msgstr "" +"``end`` (un objeto :class:`int`) representa el desplazamiento (exclusivo) " +"del final del rango de :term:`bytecode`" #: ../Doc/reference/datamodel.rst:1349 msgid "" @@ -2074,14 +2117,17 @@ msgid "" "`bytecode` range, or ``None`` if the bytecodes in the given range have no " "line number" msgstr "" +"``lineno`` es un objeto :class:`int` que representa el número de línea del " +"rango de :term:`bytecode`, o ``None`` si los códigos de bytes en el rango " +"dado no tienen número de línea" #: ../Doc/reference/datamodel.rst:1353 msgid "The items yielded will have the following properties:" -msgstr "" +msgstr "Los elementos producidos tendrán las siguientes propiedades:" #: ../Doc/reference/datamodel.rst:1355 msgid "The first range yielded will have a ``start`` of 0." -msgstr "" +msgstr "El primer rango producido tendrá un elemento ``start`` de 0." #: ../Doc/reference/datamodel.rst:1356 msgid "" @@ -2089,16 +2135,21 @@ msgid "" "for any pair of :class:`tuple`\\s, the ``start`` of the second will be equal " "to the ``end`` of the first." msgstr "" +"Los rangos ``(start, end)`` serán no decrecientes y consecutivos. Esto es, " +"para cualquier par de objetos :class:`tuple`, el elemento ``start`` del " +"segundo será igual al elemento ``end`` del primero." #: ../Doc/reference/datamodel.rst:1359 msgid "No range will be backwards: ``end >= start`` for all triples." -msgstr "" +msgstr "Ningún rango será inverso: ``end >= start`` para todas las tripletas." #: ../Doc/reference/datamodel.rst:1360 msgid "" "The last :class:`tuple` yielded will have ``end`` equal to the size of the :" "term:`bytecode`." msgstr "" +"El último objeto :class:`tuple` producido tendrá el elemento ``end`` igual " +"al tamaño de :term:`bytecode`." #: ../Doc/reference/datamodel.rst:1363 msgid "" @@ -2106,38 +2157,45 @@ msgid "" "are used for lines that are present in the source code, but have been " "eliminated by the :term:`bytecode` compiler." msgstr "" +"Se permiten rangos de ancho cero, donde ``start == end``. Los rangos de " +"ancho cero se utilizan para las líneas que están presentes en el código " +"fuente, pero que han sido eliminadas por el compilador :term:`bytecode`." #: ../Doc/reference/datamodel.rst:1371 msgid ":pep:`626` - Precise line numbers for debugging and other tools." msgstr "" +":pep:`626` - Números de línea precisos para depuración y otras herramientas." #: ../Doc/reference/datamodel.rst:1372 msgid "The PEP that introduced the :meth:`!co_lines` method." -msgstr "" +msgstr "El PEP que introdujo el método :meth:`!co_lines`." #: ../Doc/reference/datamodel.rst:1376 msgid "" "Return a copy of the code object with new values for the specified fields." msgstr "" +"Retorna una copia del objeto de código con nuevos valores para los campos " +"especificados." #: ../Doc/reference/datamodel.rst:1378 msgid "" "Code objects are also supported by the generic function :func:`copy.replace`." msgstr "" +"Los objetos de código también son compatibles con la función genérica :func:" +"`copy.replace`." #: ../Doc/reference/datamodel.rst:1386 msgid "Frame objects" msgstr "Objetos de marco" #: ../Doc/reference/datamodel.rst:1390 -#, fuzzy msgid "" "Frame objects represent execution frames. They may occur in :ref:`traceback " "objects <traceback-objects>`, and are also passed to registered trace " "functions." msgstr "" -"Los objetos de marco representan marcos de ejecución. Pueden ocurrir en " -"objetos de rastreo (ver a continuación), y son también pasados hacia " +"Los objetos de marco representan marcos de ejecución. Pueden ocurrir en :ref:" +"`objetos de rastreo <traceback-objects>`, y son también pasados hacia " "funciones de rastreo registradas." #: ../Doc/reference/datamodel.rst:1408 @@ -2145,103 +2203,109 @@ msgid "" "Points to the previous stack frame (towards the caller), or ``None`` if this " "is the bottom stack frame" msgstr "" +"Apunta al marco de pila anterior (hacia el que hace la llamada), o ``None`` " +"si este es el marco de pila inferior" #: ../Doc/reference/datamodel.rst:1412 -#, fuzzy msgid "" "The :ref:`code object <code-objects>` being executed in this frame. " "Accessing this attribute raises an :ref:`auditing event <auditing>` ``object." "__getattr__`` with arguments ``obj`` and ``\"f_code\"``." msgstr "" -"Para ciertos accesos a atributos sensibles, lanza un :ref:`evento de " -"auditoría <auditing>` ``object.__getattr__`` con los argumentos ``obj`` y " -"``name``." +"El :ref:`objeto de código <code-objects>` que se está ejecutando en este " +"marco. Al acceder a este atributo se lanza un :ref:`evento de auditoría " +"<auditing>` ``object.__getattr__`` con los argumentos ``obj`` y " +"``\"f_code\"``." +# Cómo puede quedar esta traducción, para que no quede como: "hace referencia a un :term:`optimized scope`"? #: ../Doc/reference/datamodel.rst:1417 msgid "" "The mapping used by the frame to look up :ref:`local variables <naming>`. If " "the frame refers to an :term:`optimized scope`, this may return a write-" "through proxy object." msgstr "" +"La asignación que utiliza el marco para buscar :ref:`variables locales " +"<naming>`. Si el marco hace referencia a un :term:`ámbito optimizado " +"<optimized scope>`, esto puede retornar un objeto proxy de escritura directa." #: ../Doc/reference/datamodel.rst:1422 msgid "Return a proxy for optimized scopes." -msgstr "" +msgstr "Retorna un proxy para ámbitos optimizados." #: ../Doc/reference/datamodel.rst:1426 msgid "" "The dictionary used by the frame to look up :ref:`global variables <naming>`" msgstr "" +"El diccionario utilizado por el marco para buscar :ref:`variables globales " +"<naming>`" #: ../Doc/reference/datamodel.rst:1430 msgid "" "The dictionary used by the frame to look up :ref:`built-in (intrinsic) names " "<naming>`" msgstr "" +"El diccionario utilizado por el marco para buscar :ref:`nombres incorporados " +"(intrínsecos) <naming>`" #: ../Doc/reference/datamodel.rst:1434 msgid "" "The \"precise instruction\" of the frame object (this is an index into the :" "term:`bytecode` string of the :ref:`code object <code-objects>`)" msgstr "" +"La \"instrucción precisa\" del objeto de marco (es un índice en la cadena :" +"term:`bytecode` del :ref:`objeto de código <code-objects>`)" #: ../Doc/reference/datamodel.rst:1450 -#, fuzzy msgid "" "If not ``None``, this is a function called for various events during code " "execution (this is used by debuggers). Normally an event is triggered for " "each new source line (see :attr:`~frame.f_trace_lines`)." msgstr "" -"Atributos especiales escribibles: :attr:`f_trace`, de lo contrario ``None``, " -"es una función llamada por distintos eventos durante la ejecución del código " -"(éste es utilizado por el depurador). Normalmente un evento es desencadenado " -"por cada una de las líneas fuente - esto puede ser deshabilitado " -"estableciendo :attr:`f_trace_lines` a :const:`False`." +"Si no es ``None``, esta es una función llamada por distintos eventos durante " +"la ejecución del código (esto es utilizado por depuradores). Normalmente un " +"evento es desencadenado por cada nueva línea fuente (vea :attr:`~frame." +"f_trace_lines`)." #: ../Doc/reference/datamodel.rst:1455 msgid "" "Set this attribute to :const:`False` to disable triggering a tracing event " "for each source line." msgstr "" +"Establece este atributo a :const:`False` para deshabilitar la activación de " +"un evento de seguimiento para cada línea de origen." #: ../Doc/reference/datamodel.rst:1459 -#, fuzzy msgid "" "Set this attribute to :const:`True` to allow per-opcode events to be " "requested. Note that this may lead to undefined interpreter behaviour if " "exceptions raised by the trace function escape to the function being traced." msgstr "" -"Las implementaciones *pueden* permitir que eventos por código de operación " -"sean solicitados estableciendo :attr:`f_trace_opcodes` a :const:`True`. " -"Tenga en cuenta que esto puede llevar a un comportamiento indefinido del " -"intérprete si se levantan excepciones por la función de rastreo escape hacia " -"la función que está siendo rastreada." +"Establece este atributo a :const:`True` para permitir que se soliciten " +"eventos por código de operación. Tenga en cuenta que esto puede llevar a un " +"comportamiento indefinido del intérprete si se levantan excepciones por la " +"función de rastreo escape hacia la función que está siendo rastreada." #: ../Doc/reference/datamodel.rst:1465 -#, fuzzy msgid "" "The current line number of the frame -- writing to this from within a trace " "function jumps to the given line (only for the bottom-most frame). A " "debugger can implement a Jump command (aka Set Next Statement) by writing to " "this attribute." msgstr "" -":attr:`f_lineno` es el número de línea actual del marco --- escribiendo a " -"esta forma dentro de una función de rastreo salta a la línea dada (solo para " -"el último marco). Un depurador puede implementar un comando de salto " -"(*Jump*) (también conocido como *Set Next Statement*) al escribir en " -"f_lineno." +"El número de línea actual del marco -- escribiendo a esta forma dentro de " +"una función de rastreo salta a la línea dada (solo para el último marco). Un " +"depurador puede implementar un comando de salto (*Jump*) (también conocido " +"como *Set Next Statement*) al escribir en este atributo." #: ../Doc/reference/datamodel.rst:1471 -#, fuzzy msgid "Frame object methods" -msgstr "Objetos de marco" +msgstr "Métodos de objeto de marco" #: ../Doc/reference/datamodel.rst:1473 msgid "Frame objects support one method:" msgstr "Objetos de marco soportan un método:" #: ../Doc/reference/datamodel.rst:1477 -#, fuzzy msgid "" "This method clears all references to :ref:`local variables <naming>` held by " "the frame. Also, if the frame belonged to a :term:`generator`, the " @@ -2249,51 +2313,51 @@ msgid "" "objects (for example when catching an :ref:`exception <bltin-exceptions>` " "and storing its :ref:`traceback <traceback-objects>` for later use)." msgstr "" -"Este método limpia todas las referencias a variables locales mantenidas por " -"el marco. También, si el marco pertenecía a un generador, éste es " -"finalizado. Esto ayuda a interrumpir los ciclos de referencia que involucran " -"objetos de marco (por ejemplo al detectar una excepción y almacenando su " -"rastro para uso posterior)." +"Este método limpia todas las referencias a :ref:`variables locales <naming>` " +"mantenidas por el marco. También, si el marco pertenecía a un :term:" +"`generator`, éste es finalizado. Esto ayuda a interrumpir los ciclos de " +"referencia que involucran objetos de marco (por ejemplo al detectar una :ref:" +"`excepción <bltin-exceptions>` y almacenando su :ref:`rastro <traceback-" +"objects>` para uso posterior)." #: ../Doc/reference/datamodel.rst:1483 -#, fuzzy msgid "" ":exc:`RuntimeError` is raised if the frame is currently executing or " "suspended." -msgstr ":exc:`RuntimeError` es lanzado si el marco se encuentra en ejecución." +msgstr "" +":exc:`RuntimeError` es lanzado si el marco se encuentra actualmente en " +"ejecución o suspendido." #: ../Doc/reference/datamodel.rst:1488 msgid "" "Attempting to clear a suspended frame raises :exc:`RuntimeError` (as has " "always been the case for executing frames)." msgstr "" +"Al intentar borrar un marco suspendido lanza :exc:`RuntimeError` (como " +"siempre ha sido el caso con los marcos en ejecución)." #: ../Doc/reference/datamodel.rst:1496 msgid "Traceback objects" msgstr "Objetos de seguimiento de pila (traceback)" #: ../Doc/reference/datamodel.rst:1509 -#, fuzzy msgid "" "Traceback objects represent the stack trace of an :ref:`exception <tut-" "errors>`. A traceback object is implicitly created when an exception occurs, " "and may also be explicitly created by calling :class:`types.TracebackType`." msgstr "" "Los objetos de seguimiento de pila representan el trazo de pila (*stack " -"trace*) de una excepción. Un objeto de rastreo es creado de manera implícita " -"cuando se da una excepción, y puede ser creada de manera explícita al " -"llamar :class:`types.TracebackType`." +"trace*) de una :ref:`excepción <tut-errors>`. Un objeto de rastreo es creado " +"de manera implícita cuando se da una excepción, y puede ser creada de manera " +"explícita al llamar :class:`types.TracebackType`." #: ../Doc/reference/datamodel.rst:1514 -#, fuzzy msgid "Traceback objects can now be explicitly instantiated from Python code." msgstr "" "Los objetos de seguimiento de pila ya pueden ser instanciados de manera " -"explícita desde código de Python, y el atributo ``tb_next`` de instancias " -"existentes puede ser actualizado." +"explícita desde código de Python." #: ../Doc/reference/datamodel.rst:1517 -#, fuzzy msgid "" "For implicitly created tracebacks, when the search for an exception handler " "unwinds the execution stack, at each unwound level a traceback object is " @@ -2308,11 +2372,11 @@ msgstr "" "en cada nivel de desenvolvimiento se inserta un objeto de rastreo al frente " "del rastreo actual. Cuando se entra a un manejo de excepción, la pila de " "rastreo se vuelve disponible para el programa. (Ver sección :ref:`try`.) Es " -"accesible como el tercer elemento de la tupla retornada por ``sys." -"exc_info()``, y como el atributo ``__traceback__`` de la excepción capturada." +"accesible como el tercer elemento de la tupla retornada por :func:`sys." +"exc_info`, y como el atributo :attr:`~BaseException.__traceback__` de la " +"excepción capturada." #: ../Doc/reference/datamodel.rst:1526 -#, fuzzy msgid "" "When the program contains no suitable handler, the stack trace is written " "(nicely formatted) to the standard error stream; if the interpreter is " @@ -2320,74 +2384,66 @@ msgid "" "last_traceback`." msgstr "" "Cuando el programa no contiene un gestor apropiado, el trazo de pila es " -"escrito (muy bien formateado) a la secuencia de error estándar; si el " -"intérprete es interactivo, también se vuelve disponible al usuario como " -"``sys.last_traceback``." +"escrito (muy bien formateado) en el flujo de error estándar; si el " +"intérprete es interactivo, también se vuelve disponible al usuario como :" +"data:`sys.last_traceback`." #: ../Doc/reference/datamodel.rst:1531 -#, fuzzy msgid "" "For explicitly created tracebacks, it is up to the creator of the traceback " "to determine how the :attr:`~traceback.tb_next` attributes should be linked " "to form a full stack trace." msgstr "" "Para seguimientos de pila creados de forma explícita, depende de su creador " -"determinar cómo los atributos ``tb_next`` deberían ser ligados para formar " -"un trazo de pila completo (*full stack trace*)." +"determinar cómo los atributos :attr:`~traceback.tb_next` deberían ser " +"ligados para formar un trazo de pila completo (*full stack trace*)." #: ../Doc/reference/datamodel.rst:1546 msgid "" "Points to the execution :ref:`frame <frame-objects>` of the current level." -msgstr "" +msgstr "Apunta al :ref:`marco <frame-objects>` de ejecución del nivel actual." #: ../Doc/reference/datamodel.rst:1549 -#, fuzzy msgid "" "Accessing this attribute raises an :ref:`auditing event <auditing>` ``object." "__getattr__`` with arguments ``obj`` and ``\"tb_frame\"``." msgstr "" -"Acceder a ``tb_frame`` lanza un objeto :ref:`evento de auditoría <auditing>` " -"``.__getattr__`` con argumentos ``obj`` y ``tb_frame``." +"Acceder a este atributo lanza un objeto :ref:`evento de auditoría " +"<auditing>` ``object.__getattr__`` con argumentos ``obj`` y ``\"tb_frame\"``." #: ../Doc/reference/datamodel.rst:1554 msgid "Gives the line number where the exception occurred" -msgstr "" +msgstr "Indica el número de línea en la que se ha producido la excepción" #: ../Doc/reference/datamodel.rst:1557 msgid "Indicates the \"precise instruction\"." -msgstr "" +msgstr "Indica la \"instrucción precisa\"." #: ../Doc/reference/datamodel.rst:1559 -#, fuzzy msgid "" "The line number and last instruction in the traceback may differ from the " "line number of its :ref:`frame object <frame-objects>` if the exception " "occurred in a :keyword:`try` statement with no matching except clause or " "with a :keyword:`finally` clause." msgstr "" -"Atributos especiales de solo lectura: :attr:`tb_frame` apunta al marco de " -"ejecución del nivel actual; :attr:`tb_lineno` da el número de línea donde " -"ocurrió la excepción; :attr:`tb_lasti` indica la instrucción precisa. El " -"número de línea y la última instrucción en el seguimiento de pila puede " -"diferir del número de línea de su objeto de marco si la excepción ocurrió en " -"una declaración :keyword:`try` sin una cláusula de excepción (except) " -"correspondiente o con una cláusula *finally*." +"El número de línea y la última instrucción en el seguimiento de pila puede " +"diferir del número de línea de su :ref:`objeto de marco <frame-objects>` si " +"la excepción ocurrió en una declaración :keyword:`try` sin una cláusula de " +"excepción (except) correspondiente o con una cláusula :keyword:`finally`." #: ../Doc/reference/datamodel.rst:1570 -#, fuzzy msgid "" "The special writable attribute :attr:`!tb_next` is the next level in the " "stack trace (towards the frame where the exception occurred), or ``None`` if " "there is no next level." msgstr "" -"Atributo especial escribible: :attr:`tb_next` es el siguiente nivel en el " +"El atributo especial escribible :attr:`!tb_next` es el siguiente nivel en el " "trazo de pila (hacia el marco en donde ocurrió la excepción), o ``None`` si " "no existe un siguiente nivel." #: ../Doc/reference/datamodel.rst:1574 -#, fuzzy msgid "This attribute is now writable" -msgstr "El atributo de módulo ``__class__`` es ahora escribible." +msgstr "Este atributo es ahora escribible" #: ../Doc/reference/datamodel.rst:1579 msgid "Slice objects" @@ -2462,7 +2518,6 @@ msgid "Class method objects" msgstr "Objetos de método de clase" #: ../Doc/reference/datamodel.rst:1623 -#, fuzzy msgid "" "A class method object, like a static method object, is a wrapper around " "another object that alters the way in which that object is retrieved from " @@ -2475,9 +2530,9 @@ msgstr "" "envoltorio (wrapper) alrededor de otro objeto que altera la forma en la que " "el objeto es obtenido desde las clases y las instancias de clase. El " "comportamiento de los objetos de método de clase sobre tal obtención es " -"descrita más arriba, debajo de “Métodos definidos por usuario”. Objetos de " -"clase de método son creados por el constructor incorporado :func:" -"`classmethod`." +"descrita más arriba, debajo de :ref:`\"métodos de instancia\" <instance-" +"methods>`. Objetos de clase de método son creados por el constructor " +"incorporado :func:`classmethod`." #: ../Doc/reference/datamodel.rst:1633 msgid "Special method names" @@ -2667,7 +2722,6 @@ msgstr "" "actual únicamente lo llama una vez." #: ../Doc/reference/datamodel.rst:1735 -#, fuzzy msgid "" "It is not guaranteed that :meth:`__del__` methods are called for objects " "that still exist when the interpreter exits. :class:`weakref.finalize` " @@ -2675,7 +2729,9 @@ msgid "" "when an object is garbage collected." msgstr "" "No está garantizado que los métodos :meth:`__del__` sean llamados para " -"objetos que aún existen cuando el intérprete se cierra." +"objetos que aún existen cuando el intérprete se cierra. :class:`weakref." +"finalize` proporciona una forma directa de registrar una función de limpieza " +"para ser llamada cuando un objeto es recogido de la basura." #: ../Doc/reference/datamodel.rst:1742 msgid "" @@ -2884,7 +2940,6 @@ msgstr "" "llama ``x.__gt__(y)``, y ``x>=y`` llama ``x.__ge__(y)``." #: ../Doc/reference/datamodel.rst:1876 -#, fuzzy msgid "" "A rich comparison method may return the singleton :data:`NotImplemented` if " "it does not implement the operation for a given pair of arguments. By " @@ -2894,17 +2949,16 @@ msgid "" "statement), Python will call :func:`bool` on the value to determine if the " "result is true or false." msgstr "" -"Un método de comparación *rich* puede retornar el único ``NotImplemented`` " -"si no implementa la operación para un par de argumentos dados. Por " -"convención, ``False`` y ``True`` son retornados para una comparación " -"exitosa. Sin embargo, estos métodos pueden retornar cualquier valor, así que " -"si el operador de comparación es utilizado en un contexto Booleano (p. ej. " -"en la condición de una sentencia ``if``), Python llamará :func:`bool` en " -"dicho valor para determinar si el resultado es verdadero (*true*) o falso " -"(*false*)." +"Un método de comparación enriquecido puede retornar el único :data:" +"`NotImplemented` si no implementa la operación para un par de argumentos " +"dados. Por convención, ``False`` y ``True`` son retornados para una " +"comparación exitosa. Sin embargo, estos métodos pueden retornar cualquier " +"valor, así que si el operador de comparación es utilizado en un contexto " +"Booleano (p. ej. en la condición de una sentencia ``if``), Python llamará :" +"func:`bool` en dicho valor para determinar si el resultado es verdadero " +"(*true*) o falso (*false*)." #: ../Doc/reference/datamodel.rst:1883 -#, fuzzy msgid "" "By default, ``object`` implements :meth:`__eq__` by using ``is``, returning :" "data:`NotImplemented` in the case of a false comparison: ``True if x is y " @@ -2915,14 +2969,14 @@ msgid "" "``x<=y``. To automatically generate ordering operations from a single root " "operation, see :func:`functools.total_ordering`." msgstr "" -"Por defecto, ``object`` implementa :meth:`__eq__` usando ``is``, retornando " -"``NotImplemented`` en el caso de una comparación falsa: ``True if x is y " +"Por defecto, ``object`` implementa :meth:`__eq__` usando ``is``, retornando :" +"data:`NotImplemented` en el caso de una comparación falsa: ``True if x is y " "else NotImplemented``. Para :meth:`__ne__`, por defecto delega a :meth:" -"`__eq__` e invierte el resultado a menos que sea ``NotImplemented``. No hay " -"otras relaciones implícitas entre los operadores de comparación o " -"implementaciones predeterminadas; por ejemplo, la verdad de ``(x <y o x == " -"y)`` no implica ``x <= y``. Para generar automáticamente operaciones de " -"pedido a partir de una sola operación raíz, consulte :func:`functools." +"`__eq__` e invierte el resultado a menos que sea :data:`!NotImplemented`. No " +"hay otras relaciones implícitas entre los operadores de comparación o " +"implementaciones predeterminadas; por ejemplo, la verdad de ``(x<y o x==y)`` " +"no implica ``x<=y``. Para generar automáticamente operaciones de ordenación " +"a partir de una sola operación raíz, consulte :func:`functools." "total_ordering`." #: ../Doc/reference/datamodel.rst:1892 @@ -2936,7 +2990,6 @@ msgstr "" "personalizadas y son utilizables como llaves de diccionario." #: ../Doc/reference/datamodel.rst:1896 -#, fuzzy msgid "" "There are no swapped-argument versions of these methods (to be used when the " "left argument does not support the operation but the right argument does); " @@ -2953,7 +3006,7 @@ msgstr "" "el de la derecha sí); más bien, :meth:`__lt__` y :meth:`__gt__` son el " "reflejo del otro, :meth:`__le__` y :meth:`__ge__` son un reflejo del otro, " "y :meth:`__eq__` y :meth:`__ne__` son su propio reflejo. Si los operandos " -"son de tipos distintos, y el tipo de operando de la derecha es una clase " +"son de tipos distintos, y el tipo de operando de la derecha es una subclase " "directa o indirecta del tipo de operando de la izquierda, el método " "reflejado del operando de la derecha tiene prioridad, de otro modo el método " "del operando de la izquierda tiene prioridad. Subclases virtuales no son " @@ -2965,6 +3018,9 @@ msgid "" "`NotImplemented`, the ``==`` and ``!=`` operators will fall back to ``is`` " "and ``is not``, respectively." msgstr "" +"Cuando ningún método retorna un valor distinto de :data:`NotImplemented`, " +"los operadores ``==`` y ``!=`` vuelven a ``is`` y ``is not``, " +"respectivamente." #: ../Doc/reference/datamodel.rst:1916 msgid "" @@ -2989,6 +3045,8 @@ msgid "" "def __hash__(self):\n" " return hash((self.name, self.nick, self.color))" msgstr "" +"def __hash__(self):\n" +" return hash((self.name, self.nick, self.color))" #: ../Doc/reference/datamodel.rst:1929 msgid "" @@ -3093,7 +3151,6 @@ msgstr "" "invocaciones repetidas de Python." #: ../Doc/reference/datamodel.rst:1976 -#, fuzzy msgid "" "This is intended to provide protection against a denial-of-service caused by " "carefully chosen inputs that exploit the worst case performance of a dict " @@ -3102,8 +3159,9 @@ msgid "" msgstr "" "Esto tiene como objetivo brindar protección contra una denegación de " "servicio causada por entradas cuidadosamente elegidas que explotan el peor " -"rendimiento de una inserción de dict, complejidad O(n\\ :sup:`2`). Consulte " -"http://ocert.org/advisories/ocert-2011-003.html para obtener más detalles." +"rendimiento de una inserción de diccionario, complejidad *O*\\ (*n*\\ :sup:" +"`2`). Consulte http://ocert.org/advisories/ocert-2011-003.html para obtener " +"más detalles." #: ../Doc/reference/datamodel.rst:1981 msgid "" @@ -3170,7 +3228,6 @@ msgstr "" "`AttributeError`." #: ../Doc/reference/datamodel.rst:2023 -#, fuzzy msgid "" "Note that if the attribute is found through the normal mechanism, :meth:" "`__getattr__` is not called. (This is an intentional asymmetry between :" @@ -3215,7 +3272,6 @@ msgstr "" "__getattribute__(self, name)``." #: ../Doc/reference/datamodel.rst:2047 -#, fuzzy msgid "" "This method may still be bypassed when looking up special methods as the " "result of implicit invocation via language syntax or :ref:`built-in " @@ -3223,7 +3279,8 @@ msgid "" msgstr "" "Este método aún puede ser sobrepasado cuando se buscan métodos especiales " "como resultado de una invocación implícita a través de sintaxis de lenguaje " -"o funciones implícitas. Ver :ref:`special-lookup`." +"o :ref:`funciones incorporadas <builtin-functions>`. Ver :ref:`special-" +"lookup`." #: ../Doc/reference/datamodel.rst:2052 ../Doc/reference/datamodel.rst:2054 msgid "" @@ -3285,13 +3342,12 @@ msgstr "" "``name``." #: ../Doc/reference/datamodel.rst:2090 -#, fuzzy msgid "" "Called when :func:`dir` is called on the object. An iterable must be " "returned. :func:`dir` converts the returned iterable to a list and sorts it." msgstr "" -"Es llamado cuando :func:`dir` es llamado en el objeto. Una secuencia debe " -"ser retornada. :func:`dir` convierte la secuencia retornada a una lista y la " +"Es llamado cuando :func:`dir` es llamado en el objeto. Un iterable debe ser " +"retornado. :func:`dir` convierte el iterable retornado a una lista y la " "ordena." #: ../Doc/reference/datamodel.rst:2095 @@ -3320,15 +3376,14 @@ msgstr "" "el nombre de atributo y el resultado es retornado." #: ../Doc/reference/datamodel.rst:2111 -#, fuzzy msgid "" "The ``__dir__`` function should accept no arguments, and return an iterable " "of strings that represents the names accessible on module. If present, this " "function overrides the standard :func:`dir` search on a module." msgstr "" -"La función ``__dir__`` debe no aceptar argumentos y retornar una secuencia " -"de cadena de caracteres que representan los nombres accesibles en el módulo. " -"De existir, esta función anula la búsqueda estándar :func:`dir` en un módulo." +"La función ``__dir__`` no debe aceptar argumentos y retorna un iterable de " +"cadena de caracteres que representan los nombres accesibles en el módulo. De " +"existir, esta función anula la búsqueda estándar :func:`dir` en un módulo." #: ../Doc/reference/datamodel.rst:2115 msgid "" @@ -3356,6 +3411,18 @@ msgid "" "\n" "sys.modules[__name__].__class__ = VerboseModule" msgstr "" +"import sys\n" +"from types import ModuleType\n" +"\n" +"class VerboseModule(ModuleType):\n" +" def __repr__(self):\n" +" return f'Verbose {self.__name__}'\n" +"\n" +" def __setattr__(self, attr, value):\n" +" print(f'Setting {attr}...')\n" +" super().__setattr__(attr, value)\n" +"\n" +"sys.modules[__name__].__class__ = VerboseModule" #: ../Doc/reference/datamodel.rst:2133 msgid "" @@ -3474,9 +3541,10 @@ msgid "" "Instances of descriptors may also have the :attr:`!__objclass__` attribute " "present:" msgstr "" +"Las instancias de descriptores también pueden tener presente el atributo :" +"attr:`!__objclass__`:" #: ../Doc/reference/datamodel.rst:2199 -#, fuzzy msgid "" "The attribute :attr:`!__objclass__` is interpreted by the :mod:`inspect` " "module as specifying the class where this object was defined (setting this " @@ -3486,13 +3554,13 @@ msgid "" "argument (for example, CPython sets this attribute for unbound methods that " "are implemented in C)." msgstr "" -"El atributo :attr:`__objclass__` es interpretado por el módulo :mod:" +"El atributo :attr:`!__objclass__` es interpretado por el módulo :mod:" "`inspect` como la especificación de la clase donde el objeto fue definido " "(establecer esto adecuadamente puede ayudar en introspección de atributos " "dinámicos de clases en tiempo de ejecución). Para invocables, puede indicar " "que una instancia de un tipo (o subclase) dado es esperado o requerido como " -"el primero argumento posicional (por ejemplo, CPython establece este " -"atributo para métodos independientes que son implementados en C)." +"el primer argumento posicional (por ejemplo, CPython establece este atributo " +"para métodos independientes que son implementados en C)." #: ../Doc/reference/datamodel.rst:2210 msgid "Invoking Descriptors" @@ -3598,7 +3666,6 @@ msgstr "" "cambios." #: ../Doc/reference/datamodel.rst:2281 -#, fuzzy msgid "" "For instance bindings, the precedence of descriptor invocation depends on " "which descriptor methods are defined. A descriptor can define any " @@ -3615,20 +3682,20 @@ msgid "" "dictionary. In contrast, non-data descriptors can be overridden by " "instances." msgstr "" -"Por ejemplo, enlaces, la precedencia de la invocación de descriptores " -"depende de qué métodos de descriptores están definidos. Un descriptor puede " -"definir cualquier combinación de :meth:`~object.__get__`, :meth:`~object." -"__set__` y :meth:`~object.__delete__`. Si no define :meth:`__get__`, acceder " -"al atributo retornará el objeto descriptor en sí, a menos que haya un valor " -"en el diccionario de instancia del objeto. Si el descriptor define :meth:" -"`__set__` y/o :meth:`__delete__`, es un descriptor de datos; si no define " -"ninguno de los dos, es un descriptor que no es de datos. Normalmente, los " -"descriptores de datos definen tanto :meth:`__get__` como :meth:`__set__`, " -"mientras que los descriptores que no son de datos tienen solo el método :" -"meth:`__get__`. Los descriptores de datos con :meth:`__get__` y :meth:" -"`__set__` (y/o :meth:`__delete__`) definidos siempre anulan una redefinición " -"en un diccionario de instancia. Por el contrario, las instancias pueden " -"anular los descriptores que no son datos." +"En el caso de los enlaces de instancias, la precedencia de la invocación de " +"descriptores depende de qué métodos de descriptores están definidos. Un " +"descriptor puede definir cualquier combinación de :meth:`~object.__get__`, :" +"meth:`~object.__set__` y :meth:`~object.__delete__`. Si no define :meth:`!" +"__get__`, acceder al atributo retornará el objeto descriptor en sí, a menos " +"que haya un valor en el diccionario de instancia del objeto. Si el " +"descriptor define :meth:`!__set__` y/o :meth:`!__delete__`, es un descriptor " +"de datos; si no define ninguno de los dos, es un descriptor que no es de " +"datos. Normalmente, los descriptores de datos definen tanto :meth:`!__get__` " +"como :meth:`!__set__`, mientras que los descriptores que no son de datos " +"tienen solo el método :meth:`!__get__`. Los descriptores de datos con :meth:" +"`!__get__` y :meth:`!__set__` (y/o :meth:`!__delete__`) definidos siempre " +"anulan una redefinición en un diccionario de instancia. Por el contrario, " +"las instancias pueden anular los descriptores que no son datos." #: ../Doc/reference/datamodel.rst:2296 msgid "" @@ -3691,7 +3758,7 @@ msgstr "" #: ../Doc/reference/datamodel.rst:2329 msgid "Notes on using *__slots__*:" -msgstr "Notas sobre el uso de *__slots__*" +msgstr "Notas sobre el uso de *__slots__*:" #: ../Doc/reference/datamodel.rst:2331 msgid "" @@ -3743,7 +3810,6 @@ msgstr "" "de clase sobrescribiría la asignación del descriptor." #: ../Doc/reference/datamodel.rst:2354 -#, fuzzy msgid "" "The action of a *__slots__* declaration is not limited to the class where it " "is defined. *__slots__* declared in parents are available in child classes. " @@ -3752,10 +3818,11 @@ msgid "" "only contain names of any *additional* slots)." msgstr "" "La acción de una declaración *__slots__* no se limita a la clase donde se " -"define. *__slots__* declarado en padres está disponible en clases " -"secundarias. Sin embargo, las subclases secundarias obtendrán :attr:`~object." -"__dict__` y *__weakref__* a menos que también definan *__slots__* (que solo " -"debe contener nombres de cualquier ranura *additional*)." +"define. *__slots__* declarado en clases principales está disponible en " +"clases secundarias. Sin embargo, las subclases secundarias obtendrán :attr:" +"`~object.__dict__` y *__weakref__* a menos que las subclases también definan " +"*__slots__* (que solo debe contener nombres de cualquier ranura " +"*additional*)." #: ../Doc/reference/datamodel.rst:2360 msgid "" @@ -3803,12 +3870,11 @@ msgstr "" "func:`help`." #: ../Doc/reference/datamodel.rst:2377 -#, fuzzy msgid "" ":attr:`~object.__class__` assignment works only if both classes have the " "same *__slots__*." msgstr "" -"La asignación de :attr:`~instance.__class__` solo funciona si ambas clases " +"La asignación de :attr:`~object.__class__` solo funciona si ambas clases " "tienen el mismo *__slots__*." #: ../Doc/reference/datamodel.rst:2380 @@ -3866,7 +3932,6 @@ msgstr "" "clase." #: ../Doc/reference/datamodel.rst:2409 -#, fuzzy msgid "" "Keyword arguments which are given to a new class are passed to the parent " "class's ``__init_subclass__``. For compatibility with other classes using " @@ -3889,6 +3954,13 @@ msgid "" "class AustralianPhilosopher(Philosopher, default_name=\"Bruce\"):\n" " pass" msgstr "" +"class Philosopher:\n" +" def __init_subclass__(cls, /, default_name, **kwargs):\n" +" super().__init_subclass__(**kwargs)\n" +" cls.default_name = default_name\n" +"\n" +"class AustralianPhilosopher(Philosopher, default_name=\"Bruce\"):\n" +" pass" #: ../Doc/reference/datamodel.rst:2423 msgid "" @@ -3932,6 +4004,8 @@ msgid "" "class A:\n" " x = C() # Automatically calls: x.__set_name__(A, 'x')" msgstr "" +"class A:\n" +" x = C() # Llama automáticamente: x.__set_name__(A, 'x')" #: ../Doc/reference/datamodel.rst:2447 msgid "" @@ -3952,6 +4026,12 @@ msgid "" "A.x = c # The hook is not called\n" "c.__set_name__(A, 'x') # Manually invoke the hook" msgstr "" +"class A:\n" +" pass\n" +"\n" +"c = C()\n" +"A.x = c # No se llama el enlace\n" +"c.__set_name__(A, 'x') # Invoca manualmente el enlace" #: ../Doc/reference/datamodel.rst:2458 msgid "See :ref:`class-object-creation` for more details." @@ -3994,6 +4074,14 @@ msgid "" "class MySubclass(MyClass):\n" " pass" msgstr "" +"class Meta(type):\n" +" pass\n" +"\n" +"class MyClass(metaclass=Meta):\n" +" pass\n" +"\n" +"class MySubclass(MyClass):\n" +" pass" #: ../Doc/reference/datamodel.rst:2491 msgid "" @@ -4294,7 +4382,6 @@ msgstr "" "el espacio de nombres local como la clase definida." #: ../Doc/reference/datamodel.rst:2640 -#, fuzzy msgid "" "When a new class is created by ``type.__new__``, the object provided as the " "namespace parameter is copied to a new ordered mapping and the original " @@ -4302,10 +4389,10 @@ msgid "" "becomes the :attr:`~type.__dict__` attribute of the class object." msgstr "" "Cuando una nueva clase es creada por ``type.__new__``, el objeto " -"proporcionado como el parámetro de espacio de nombres es copiado a un " +"proporcionado como el parámetro de espacio de nombres es copiado a un nuevo " "trazado ordenado y el objeto original es descartado. La nueva copia es " "*envuelta* en un proxy de solo lectura, que se convierte en el atributo :" -"attr:`~object.__dict__` del objeto de clase." +"attr:`~type.__dict__` del objeto de clase." #: ../Doc/reference/datamodel.rst:2647 msgid ":pep:`3135` - New super" @@ -4394,7 +4481,6 @@ msgstr "" ":pep:`3119` - Introducción a Clases Base Abstractas (*Abstract Base Classes*)" #: ../Doc/reference/datamodel.rst:2693 -#, fuzzy msgid "" "Includes the specification for customizing :func:`isinstance` and :func:" "`issubclass` behavior through :meth:`~type.__instancecheck__` and :meth:" @@ -4403,8 +4489,8 @@ msgid "" "language." msgstr "" "Incluye la especificación para personalizar el comportamiento de :func:" -"`isinstance` y :func:`issubclass` a través de :meth:`~class." -"__instancecheck__` y :meth:`~class.__subclasscheck__`, con motivación para " +"`isinstance` y :func:`issubclass` a través de :meth:`~type." +"__instancecheck__` y :meth:`~type.__subclasscheck__`, con motivación para " "esta funcionalidad en el contexto de agregar Clases Base Abstractas (ver el " "módulo :mod:`abc`) al lenguaje." @@ -4583,6 +4669,28 @@ msgid "" " f\"'{class_of_obj.__name__}' object is not subscriptable\"\n" " )" msgstr "" +"from inspect import isclass\n" +"\n" +"def subscribe(obj, x):\n" +" \"\"\"Retorna el resultado de la expresión 'obj[x]'\"\"\"\n" +"\n" +" class_of_obj = type(obj)\n" +"\n" +" # Si la clase de obj define __getitem__,\n" +" # llama class_of_obj.__getitem__(obj, x)\n" +" if hasattr(class_of_obj, '__getitem__'):\n" +" return class_of_obj.__getitem__(obj, x)\n" +"\n" +" # De lo contrario, si obj es una clase y define __class_getitem__,\n" +" # llama obj.__class_getitem__(x)\n" +" elif isclass(obj) and hasattr(obj, '__class_getitem__'):\n" +" return obj.__class_getitem__(x)\n" +"\n" +" # De lo contrario, lanza una excepción\n" +" else:\n" +" raise TypeError(\n" +" f\"'{class_of_obj.__name__}' object is not subscriptable\"\n" +" )" #: ../Doc/reference/datamodel.rst:2793 msgid "" @@ -4614,6 +4722,18 @@ msgid "" ">>> type(list[int])\n" "<class 'types.GenericAlias'>" msgstr "" +">>> # list tiene la clase \"type\" como su metaclase, como la mayoría de las " +"clases:\n" +">>> type(list)\n" +"<class 'type'>\n" +">>> type(dict) == type(list) == type(tuple) == type(str) == type(bytes)\n" +"True\n" +">>> # \"list[int]\" llama \"list.__class_getitem__(int)\"\n" +">>> list[int]\n" +"list[int]\n" +">>> # list.__class_getitem__ retorna un objeto GenericAlias:\n" +">>> type(list[int])\n" +"<class 'types.GenericAlias'>" #: ../Doc/reference/datamodel.rst:2812 msgid "" @@ -4645,6 +4765,22 @@ msgid "" ">>> type(Menu['SPAM'])\n" "<enum 'Menu'>" msgstr "" +">>> from enum import Enum\n" +">>> class Menu(Enum):\n" +"... \"\"\"Un menú de desayuno\"\"\"\n" +"... SPAM = 'spam'\n" +"... BACON = 'bacon'\n" +"...\n" +">>> # Las clases de enumeración tienen una metaclase personalizada:\n" +">>> type(Menu)\n" +"<class 'enum.EnumMeta'>\n" +">>> # EnumMeta define __getitem__,\n" +">>> # por lo que no se llama __class_getitem__,\n" +">>> # y el resultado no es un objeto GenericAlias:\n" +">>> Menu['SPAM']\n" +"<Menu.SPAM: 'spam'>\n" +">>> type(Menu['SPAM'])\n" +"<enum 'Menu'>" #: ../Doc/reference/datamodel.rst:2837 msgid ":pep:`560` - Core Support for typing module and generic types" @@ -4680,7 +4816,6 @@ msgid "Emulating container types" msgstr "Emulando tipos de contenedores" #: ../Doc/reference/datamodel.rst:2860 -#, fuzzy msgid "" "The following methods can be defined to implement container objects. " "Containers usually are :term:`sequences <sequence>` (such as :class:`lists " @@ -4716,39 +4851,39 @@ msgid "" "should iterate through the values." msgstr "" "Se pueden definir los siguientes métodos para implementar objetos " -"contenedores. Los contenedores suelen ser :term:`sequences <sequence>` " -"(como :class:`lists <list>` o :class:`tuples <tuple>`) o :term:`mappings " -"<mapping>` (como :class:`dictionaries <dict>`), pero también pueden " -"representar otros contenedores. El primer conjunto de métodos se utiliza " -"para emular una secuencia o un mapeo; la diferencia es que para una " -"secuencia, las claves permitidas deben ser los números enteros *k* para los " -"cuales ``0 <= k < N`` donde *N* es la longitud de la secuencia, u objetos :" -"class:`slice`, que definen un rango de elementos. También se recomienda que " -"las asignaciones proporcionen los métodos :meth:`keys`, :meth:`values`, :" -"meth:`items`, :meth:`get`, :meth:`clear`, :meth:`setdefault`, :meth:`pop`, :" -"meth:`popitem`, :meth:`!copy` y :meth:`update` que se comportan de manera " -"similar a los de los objetos :class:`dictionary <dict>` estándar de Python. " -"El módulo :mod:`collections.abc` proporciona un :class:`~collections.abc." -"MutableMapping` :term:`abstract base class` para ayudar a crear esos métodos " -"a partir de un conjunto básico de :meth:`~object.__getitem__`, :meth:" -"`~object.__setitem__`, :meth:`~object.__delitem__` y :meth:`keys`. Las " -"secuencias mutables deben proporcionar los métodos :meth:`append`, :meth:" -"`count`, :meth:`index`, :meth:`extend`, :meth:`insert`, :meth:`pop`, :meth:" -"`remove`, :meth:`reverse` y :meth:`sort`, como los objetos :class:`list` " -"estándar de Python. Finalmente, los tipos de secuencia deben implementar la " -"suma (es decir, concatenación) y la multiplicación (es decir, repetición) " -"definiendo los métodos :meth:`~object.__add__`, :meth:`~object.__radd__`, :" -"meth:`~object.__iadd__`, :meth:`~object.__mul__`, :meth:`~object.__rmul__` " -"y :meth:`~object.__imul__` que se describen a continuación; no deben definir " -"otros operadores numéricos. Se recomienda que tanto las asignaciones como " -"las secuencias implementen el método :meth:`~object.__contains__` para " -"permitir el uso eficiente del operador ``in``; para asignaciones, ``in`` " -"debería buscar las claves de la asignación; para secuencias, debe buscar " -"entre los valores. Se recomienda además que tanto las asignaciones como las " -"secuencias implementen el método :meth:`~object.__iter__` para permitir una " -"iteración eficiente a través del contenedor; para asignaciones, :meth:" -"`__iter__` debe iterar a través de las claves del objeto; para secuencias, " -"debe iterar a través de los valores." +"contenedores. Los contenedores suelen ser :term:`secuencias <sequence>` " +"(como :class:`listas <list>` o :class:`tuplas <tuple>`) o :term:" +"`asignaciones <mapping>` (como :class:`diccionarios <dict>`), pero también " +"pueden representar otros contenedores. El primer conjunto de métodos se " +"utiliza para emular una secuencia o para emular un mapeo; la diferencia es " +"que para una secuencia, las claves permitidas deben ser los números enteros " +"*k* para los cuales ``0 <= k < N`` donde *N* es la longitud de la secuencia, " +"u objetos :class:`slice`, que definen un rango de elementos. También se " +"recomienda que las asignaciones proporcionen los métodos :meth:`!keys`, :" +"meth:`!values`, :meth:`!items`, :meth:`!get`, :meth:`!clear`, :meth:`!" +"setdefault`, :meth:`!pop`, :meth:`!popitem`, :meth:`!copy` y :meth:`!update` " +"que se comportan de manera similar a los de los objetos :class:`diccionario " +"<dict>` estándar de Python. El módulo :mod:`collections.abc` proporciona un :" +"class:`~collections.abc.MutableMapping` :term:`abstract base class` para " +"ayudar a crear esos métodos a partir de un conjunto básico de :meth:`~object." +"__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__delitem__` y :" +"meth:`!keys`. Las secuencias mutables deben proporcionar los métodos :meth:`!" +"append`, :meth:`!count`, :meth:`!index`, :meth:`!extend`, :meth:`!insert`, :" +"meth:`!pop`, :meth:`!remove`, :meth:`!reverse` y :meth:`!sort`, como los " +"objetos :class:`list` estándar de Python. Finalmente, los tipos de secuencia " +"deben implementar la suma (es decir, concatenación) y la multiplicación (es " +"decir, repetición) definiendo los métodos :meth:`~object.__add__`, :meth:" +"`~object.__radd__`, :meth:`~object.__iadd__`, :meth:`~object.__mul__`, :meth:" +"`~object.__rmul__` y :meth:`~object.__imul__` que se describen a " +"continuación; no deben definir otros operadores numéricos. Se recomienda que " +"tanto las asignaciones como las secuencias implementen el método :meth:" +"`~object.__contains__` para permitir el uso eficiente del operador ``in``; " +"para asignaciones, ``in`` debería buscar las claves de la asignación; para " +"secuencias, debe buscar entre los valores. Se recomienda además que tanto " +"las asignaciones como las secuencias implementen el método :meth:`~object." +"__iter__` para permitir una iteración eficiente a través del contenedor; " +"para asignaciones, :meth:`!__iter__` debe iterar a través de las claves del " +"objeto; para secuencias, debe iterar a través de los valores." #: ../Doc/reference/datamodel.rst:2901 msgid "" @@ -4777,7 +4912,6 @@ msgstr "" "definir un método :meth:`~object.__bool__`." #: ../Doc/reference/datamodel.rst:2917 -#, fuzzy msgid "" "Called to implement :func:`operator.length_hint`. Should return an estimated " "length for the object (which may be greater or less than the actual length). " @@ -4789,7 +4923,7 @@ msgstr "" "Es llamado para implementar :func:`operator.length_hint`. Debe retornar una " "longitud estimada para el objeto (que puede ser mayor o menor que la " "longitud actual). La longitud debe ser un entero ``>=`` 0. El valor de " -"retorno también debe ser :const:`NotImplemented` el cual es tratado de igual " +"retorno también debe ser :data:`NotImplemented`, el cual es tratado de igual " "forma a que si el método ``__length_hint__`` no existiera en absoluto. Este " "método es puramente una optimización y nunca es requerido para precisión." @@ -4802,7 +4936,7 @@ msgstr "" #: ../Doc/reference/datamodel.rst:2933 msgid "a[1:2] = b" -msgstr "" +msgstr "a[1:2] = b" #: ../Doc/reference/datamodel.rst:2935 msgid "is translated to ::" @@ -4810,7 +4944,7 @@ msgstr "es traducido a ::" #: ../Doc/reference/datamodel.rst:2937 msgid "a[slice(1, 2, None)] = b" -msgstr "" +msgstr "a[slice(1, 2, None)] = b" #: ../Doc/reference/datamodel.rst:2939 msgid "and so forth. Missing slice items are always filled in with ``None``." @@ -4818,7 +4952,6 @@ msgstr "" "etcétera. Elementos faltantes de segmentos siempre son llenados con ``None``." #: ../Doc/reference/datamodel.rst:2944 -#, fuzzy msgid "" "Called to implement evaluation of ``self[key]``. For :term:`sequence` types, " "the accepted keys should be integers. Optionally, they may support :class:" @@ -4830,11 +4963,10 @@ msgid "" "`KeyError` should be raised." msgstr "" "Llamado a implementar evaluación de ``self[key]``. Para los tipos :term:" -"`sequence`, las claves aceptadas deben ser números enteros y objetos de " -"segmento. Tenga en cuenta que la interpretación especial de los índices " -"negativos (si la clase desea emular un tipo :term:`sequence`) depende del " -"método :meth:`__getitem__`. Si *key* es de un tipo inadecuado, es posible " -"que se genere :exc:`TypeError`; si se trata de un valor fuera del conjunto " +"`sequence`, las claves aceptadas deben ser números enteros. Opcionalmente, " +"también puede soportar objetos :class:`slice`. La compatibilidad con índices " +"negativos también es opcional. Si *key* es de un tipo inadecuado, es posible " +"que se genere :exc:`TypeError`; si *key* es de un valor fuera del conjunto " "de índices de la secuencia (después de cualquier interpretación especial de " "valores negativos), se debe generar :exc:`IndexError`. Para los tipos :term:" "`mapping`, si falta *key* (no en el contenedor), se debe generar :exc:" @@ -5013,16 +5145,14 @@ msgstr "" "de la función incorporada :func:`pow`." #: ../Doc/reference/datamodel.rst:3071 -#, fuzzy msgid "" "If one of those methods does not support the operation with the supplied " "arguments, it should return :data:`NotImplemented`." msgstr "" "Si alguno de esos métodos no permiten la operación con los argumentos " -"suministrados, debe retornar ``NotImplemented``." +"suministrados, debe retornar :data:`NotImplemented`." #: ../Doc/reference/datamodel.rst:3094 -#, fuzzy msgid "" "These methods are called to implement the binary arithmetic operations " "(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" @@ -5042,7 +5172,7 @@ msgstr "" "diferentes tipos. [#]_ Por ejemplo, para evaluar la expresión ``x - y``, " "donde *y* es una instancia de una clase que tiene un método :meth:" "`__rsub__`, se llama a ``type(y).__rsub__(y, x)`` si ``type(x).__sub__(x, " -"y)`` retorna *NotImplemented*." +"y)`` retorna :data:`NotImplemented`." #: ../Doc/reference/datamodel.rst:3106 msgid "" @@ -5068,7 +5198,6 @@ msgstr "" "operaciones de sus predecesores." #: ../Doc/reference/datamodel.rst:3132 -#, fuzzy msgid "" "These methods are called to implement the augmented arithmetic assignments " "(``+=``, ``-=``, ``*=``, ``@=``, ``/=``, ``//=``, ``%=``, ``**=``, ``<<=``, " @@ -5090,14 +5219,15 @@ msgstr "" "``**=``, ``<<=``, ``>>=``, ``&=``, ``^=``, ``|=``). Estos métodos deben " "intentar realizar la operación *in-place* (modificando *self*) y retornar el " "resultado (que puede, pero no tiene que ser *self*). Si un método específico " -"no es definido, la asignación aumentada regresa a los métodos normales. Por " -"ejemplo, si *x* es la instancia de una clase con el método :meth:`__iadd__`, " -"``x += y`` es equivalente a ``x = x.__iadd__(y)``. De lo contrario ``x." -"__add__(y)`` y ``y.__radd__(x)`` se consideran al igual que con la " -"evaluación de ``x + y``. En ciertas situaciones, asignaciones aumentadas " -"pueden resultar en errores no esperados (ver :ref:`faq-augmented-assignment-" -"tuple-error`), pero este comportamiento es en realidad parte del modelo de " -"datos." +"no es definido o si ese método retorna :data:`NotImplemented`, la asignación " +"aumentada regresa a los métodos normales. Por ejemplo, si *x* es la " +"instancia de una clase con el método :meth:`__iadd__`, ``x += y`` es " +"equivalente a ``x = x.__iadd__(y)``. Si :meth:`__iadd__` no existe o si ``x." +"__iadd__(y)`` retorna :data:`!NotImplemented`, ``x.__add__(y)`` y ``y." +"__radd__(x)`` se consideran al igual que con la evaluación de ``x + y``. En " +"ciertas situaciones, asignaciones aumentadas pueden resultar en errores no " +"esperados (ver :ref:`faq-augmented-assignment-tuple-error`), pero este " +"comportamiento es en realidad parte del modelo de datos." #: ../Doc/reference/datamodel.rst:3155 msgid "" @@ -5236,14 +5366,13 @@ msgstr "" "método." #: ../Doc/reference/datamodel.rst:3245 -#, fuzzy msgid "" "Note that :meth:`~object.__exit__` methods should not reraise the passed-in " "exception; this is the caller's responsibility." msgstr "" -"Se debe tomar en cuenta que los métodos :meth:`__exit__` no deben lanzar de " -"nuevo la excepción que se pasa; esto es la responsabilidad de quien hace el " -"llamado." +"Se debe tomar en cuenta que los métodos :meth:`~object.__exit__` no deben " +"lanzar de nuevo la excepción que se pasa; esto es la responsabilidad de " +"quien hace el llamado." #: ../Doc/reference/datamodel.rst:3252 msgid ":pep:`343` - The \"with\" statement" @@ -5416,6 +5545,15 @@ msgid "" " File \"<stdin>\", line 1, in <module>\n" "TypeError: object of type 'C' has no len()" msgstr "" +">>> class C:\n" +"... pass\n" +"...\n" +">>> c = C()\n" +">>> c.__len__ = lambda: 5\n" +">>> len(c)\n" +"Traceback (most recent call last):\n" +" File \"<stdin>\", line 1, in <module>\n" +"TypeError: object of type 'C' has no len()" #: ../Doc/reference/datamodel.rst:3349 msgid "" @@ -5440,6 +5578,12 @@ msgid "" " File \"<stdin>\", line 1, in <module>\n" "TypeError: descriptor '__hash__' of 'int' object needs an argument" msgstr "" +">>> 1 .__hash__() == hash(1)\n" +"True\n" +">>> int.__hash__() == hash(int)\n" +"Traceback (most recent call last):\n" +" File \"<stdin>\", line 1, in <module>\n" +"TypeError: descriptor '__hash__' of 'int' object needs an argument" #: ../Doc/reference/datamodel.rst:3363 msgid "" @@ -5458,6 +5602,10 @@ msgid "" ">>> type(int).__hash__(int) == hash(int)\n" "True" msgstr "" +">>> type(1).__hash__(1) == hash(1)\n" +"True\n" +">>> type(int).__hash__(int) == hash(int)\n" +"True" #: ../Doc/reference/datamodel.rst:3372 msgid "" @@ -5493,6 +5641,28 @@ msgid "" ">>> len(c) # Implicit lookup\n" "10" msgstr "" +">>> class Meta(type):\n" +"... def __getattribute__(*args):\n" +"... print(\"Metaclass getattribute invoked\")\n" +"... return type.__getattribute__(*args)\n" +"...\n" +">>> class C(object, metaclass=Meta):\n" +"... def __len__(self):\n" +"... return 10\n" +"... def __getattribute__(*args):\n" +"... print(\"Class getattribute invoked\")\n" +"... return object.__getattribute__(*args)\n" +"...\n" +">>> c = C()\n" +">>> c.__len__() # Búsqueda explícita a través de la " +"instancia\n" +"Class getattribute invoked\n" +"10\n" +">>> type(c).__len__(c) # Búsqueda explícita a través de type\n" +"Metaclass getattribute invoked\n" +"10\n" +">>> len(c) # Búsqueda implícita\n" +"10" #: ../Doc/reference/datamodel.rst:3398 msgid "" @@ -5602,7 +5772,6 @@ msgstr "" "Es un error :exc:`RuntimeError` esperar a una corrutina más de una vez." #: ../Doc/reference/datamodel.rst:3467 -#, fuzzy msgid "" "Starts or resumes execution of the coroutine. If *value* is ``None``, this " "is equivalent to advancing the iterator returned by :meth:`~object." @@ -5617,7 +5786,7 @@ msgstr "" "*value* no es ``None``, este método delega en el método :meth:`~generator." "send` del iterador que provocó la suspensión de la rutina. El resultado " "(valor de retorno, :exc:`StopIteration` u otra excepción) es el mismo que " -"cuando se itera sobre el valor de retorno :meth:`__await__`, descrito " +"cuando se itera sobre el valor de retorno :meth:`!__await__`, descrito " "anteriormente." #: ../Doc/reference/datamodel.rst:3478 @@ -5721,6 +5890,18 @@ msgid "" " raise StopAsyncIteration\n" " return val" msgstr "" +"class Reader:\n" +" async def readline(self):\n" +" ...\n" +"\n" +" def __aiter__(self):\n" +" return self\n" +"\n" +" async def __anext__(self):\n" +" val = await self.readline()\n" +" if val == b'':\n" +" raise StopAsyncIteration\n" +" return val" #: ../Doc/reference/datamodel.rst:3541 msgid "" @@ -5763,22 +5944,20 @@ msgstr "" "declaración :keyword:`async with`." #: ../Doc/reference/datamodel.rst:3563 -#, fuzzy msgid "" "Semantically similar to :meth:`~object.__enter__`, the only difference being " "that it must return an *awaitable*." msgstr "" -"Semánticamente similar a :meth:`__enter__`, siendo la única diferencia que " -"debe retorna un *esperable*." +"Semánticamente similar a :meth:`~object.__enter__`, siendo la única " +"diferencia que debe retornar un *esperable*." #: ../Doc/reference/datamodel.rst:3568 -#, fuzzy msgid "" "Semantically similar to :meth:`~object.__exit__`, the only difference being " "that it must return an *awaitable*." msgstr "" -"Semánticamente similar a :meth:`__exit__`, siendo la única diferencia que " -"debe retornar un *esperable*." +"Semánticamente similar a :meth:`~object.__exit__`, siendo la única " +"diferencia que debe retornar un *esperable*." #: ../Doc/reference/datamodel.rst:3571 msgid "An example of an asynchronous context manager class::" @@ -5793,6 +5972,12 @@ msgid "" " async def __aexit__(self, exc_type, exc, tb):\n" " await log('exiting context')" msgstr "" +"class AsyncContextManager:\n" +" async def __aenter__(self):\n" +" await log('entering context')\n" +"\n" +" async def __aexit__(self, exc_type, exc, tb):\n" +" await log('exiting context')" #: ../Doc/reference/datamodel.rst:3584 msgid "Footnotes" @@ -5809,7 +5994,6 @@ msgstr "" "llevar a un comportamiento bastante extraño de no ser tratado correctamente." #: ../Doc/reference/datamodel.rst:3589 -#, fuzzy msgid "" "The :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:`~object." "__reversed__`, :meth:`~object.__contains__`, :meth:`~object." @@ -5818,24 +6002,23 @@ msgid "" "by relying on the behavior that ``None`` is not callable." msgstr "" "Los métodos :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:" -"`~object.__reversed__` y :meth:`~object.__contains__` tienen un manejo " -"especial para esto; otros seguirán generando un :exc:`TypeError`, pero " -"pueden hacerlo confiando en el comportamiento de que ``None`` no es " -"invocable." +"`~object.__reversed__`, :meth:`~object.__contains__`, :meth:`~object." +"__class_getitem__` y :meth:`~os.PathLike.__fspath__` tienen un manejo " +"especial para esto. Otros seguirán lanzando un :exc:`TypeError`, pero pueden " +"hacerlo confiando en el comportamiento de que ``None`` no es invocable." #: ../Doc/reference/datamodel.rst:3596 -#, fuzzy msgid "" "\"Does not support\" here means that the class has no such method, or the " "method returns :data:`NotImplemented`. Do not set the method to ``None`` if " "you want to force fallback to the right operand's reflected method—that will " "instead have the opposite effect of explicitly *blocking* such fallback." msgstr "" -"“No soporta” aquí significa que la clase no tiene tal método, o el método " -"retorna ``NotImplemented``. No establecer el método a ``None`` si se quiere " -"forzar el retroceso al método reflejado del operando correcto—eso, por el " -"contrario, tendrá un efecto opuesto de bloquear explícitamente dicho " -"retroceso." +"\"No soporta\" aquí significa que la clase no tiene tal método, o el método " +"retorna :data:`NotImplemented`. No establecer el método a ``None`` si se " +"quiere forzar el retroceso al método reflejado del operando correcto—eso, " +"por el contrario, tendrá un efecto opuesto de *bloquear* explícitamente " +"dicho retroceso." #: ../Doc/reference/datamodel.rst:3602 msgid "" @@ -5865,7 +6048,7 @@ msgstr "" #: ../Doc/reference/datamodel.rst:1388 ../Doc/reference/datamodel.rst:1498 #: ../Doc/reference/datamodel.rst:1912 ../Doc/reference/datamodel.rst:2927 msgid "object" -msgstr "Objetos" +msgstr "object" #: ../Doc/reference/datamodel.rst:14 ../Doc/reference/datamodel.rst:126 msgid "data" @@ -5882,7 +6065,7 @@ msgstr "datos" #: ../Doc/reference/datamodel.rst:3153 ../Doc/reference/datamodel.rst:3163 #: ../Doc/reference/datamodel.rst:3191 msgid "built-in function" -msgstr "Funciones incorporadas" +msgstr "built-in function" #: ../Doc/reference/datamodel.rst:23 msgid "id" @@ -5891,7 +6074,7 @@ msgstr "identificación" #: ../Doc/reference/datamodel.rst:23 ../Doc/reference/datamodel.rst:126 #: ../Doc/reference/datamodel.rst:2468 msgid "type" -msgstr "Tipos" +msgstr "type" #: ../Doc/reference/datamodel.rst:23 msgid "identity of an object" @@ -5903,15 +6086,15 @@ msgstr "valor de un objeto" #: ../Doc/reference/datamodel.rst:23 msgid "type of an object" -msgstr "Tipos de objeto" +msgstr "type of an object" #: ../Doc/reference/datamodel.rst:23 msgid "mutable object" -msgstr "Objetos mutables" +msgstr "mutable object" #: ../Doc/reference/datamodel.rst:23 msgid "immutable object" -msgstr "Objetos inmutables" +msgstr "immutable object" #: ../Doc/reference/datamodel.rst:60 msgid "garbage collection" @@ -5942,7 +6125,7 @@ msgstr "extensión" #: ../Doc/reference/datamodel.rst:856 ../Doc/reference/datamodel.rst:876 #: ../Doc/reference/datamodel.rst:1132 msgid "module" -msgstr "Módulo" +msgstr "module" #: ../Doc/reference/datamodel.rst:126 ../Doc/reference/datamodel.rst:265 #: ../Doc/reference/datamodel.rst:798 @@ -5991,7 +6174,7 @@ msgstr "representación" #: ../Doc/reference/datamodel.rst:250 msgid "Boolean" -msgstr "booleano" +msgstr "Boolean" #: ../Doc/reference/datamodel.rst:250 msgid "False" @@ -6002,7 +6185,6 @@ msgid "True" msgstr "Verdad" #: ../Doc/reference/datamodel.rst:265 -#, fuzzy msgid "floating-point" msgstr "punto flotante" @@ -6025,7 +6207,7 @@ msgstr "len" #: ../Doc/reference/datamodel.rst:296 ../Doc/reference/datamodel.rst:1103 msgid "sequence" -msgstr "Secuencias" +msgstr "sequence" #: ../Doc/reference/datamodel.rst:296 msgid "index operation" @@ -6046,7 +6228,7 @@ msgstr "rebanar" #: ../Doc/reference/datamodel.rst:328 msgid "immutable sequence" -msgstr "Secuencia inmutable" +msgstr "immutable sequence" #: ../Doc/reference/datamodel.rst:328 msgid "immutable" @@ -6373,14 +6555,12 @@ msgid "__type_params__ (class attribute)" msgstr "__type_params__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:967 -#, fuzzy msgid "__static_attributes__ (class attribute)" -msgstr "__dict__ (atributo de clase)" +msgstr "__static_attributes__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:967 -#, fuzzy msgid "__firstlineno__ (class attribute)" -msgstr "__name__ (atributo de clase)" +msgstr "__firstlineno__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:1114 msgid "__dict__ (instance attribute)"