diff --git a/reference/datamodel.po b/reference/datamodel.po index 64a7eeb182..c59d10a17f 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-06-09 20:48-0500\n" +"PO-Revision-Date: 2020-12-09 16:30-0600\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Carlos Joel Delgado Pizarro \n" +"Last-Translator: Miguel Ángel Ramírez \n" "Language: es\n" -"X-Generator: Poedit 2.3\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/reference/datamodel.rst:6 msgid "Data model" @@ -598,9 +598,10 @@ msgid "" "placing a comma-separated list of expressions in square brackets. (Note that " "there are no special cases needed to form lists of length 0 or 1.)" msgstr "" -"The items of a list are arbitrary Python objects. Lists are formed by " -"placing a comma-separated list of expressions in square brackets. (Note that " -"there are no special cases needed to form lists of length 0 or 1.)" +"Los elementos de una lista son objetos de Python arbitrarios. Las listas se " +"forman colocando una lista de expresiones separadas por comas entre " +"corchetes. (Tome en cuenta que no hay casos especiales necesarios para " +"formar listas de longitud 0 o 1.)" #: ../Doc/reference/datamodel.rst:356 msgid "Byte Arrays" @@ -1019,12 +1020,20 @@ msgid "" "`__module__` is the name of the module the method was defined in, or " "``None`` if unavailable." msgstr "" +"Atributos especiales de solo lectura: :attr:`__self__` es el objeto de " +"instancia de clase, :attr:`__func__` es el objeto de función; :attr:" +"`__doc__` es la documentación del método (al igual que ``__func__." +"__doc__``); :attr:`~definition.__name__` es el nombre del método (al igual " +"que ``__func__.__name__``); :attr:`__module__` es el nombre del módulo en el " +"que el método fue definido, o ``None`` si no se encuentra disponible." #: ../Doc/reference/datamodel.rst:578 msgid "" "Methods also support accessing (but not setting) the arbitrary function " "attributes on the underlying function object." 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." #: ../Doc/reference/datamodel.rst:581 msgid "" @@ -1032,6 +1041,10 @@ msgid "" "class (perhaps via an instance of that class), if that attribute is a user-" "defined function object or a class method object." 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." #: ../Doc/reference/datamodel.rst:585 msgid "" @@ -1040,6 +1053,11 @@ msgid "" "attribute is the instance, and the method object is said to be bound. The " "new method's :attr:`__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." #: ../Doc/reference/datamodel.rst:591 msgid "" @@ -1048,6 +1066,10 @@ msgid "" "itself, and its :attr:`__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." #: ../Doc/reference/datamodel.rst:596 msgid "" @@ -1057,6 +1079,12 @@ msgid "" "contains a definition for a function :meth:`f`, and ``x`` is an instance of :" "class:`C`, calling ``x.f(1)`` is equivalent to calling ``C.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)``." #: ../Doc/reference/datamodel.rst:603 msgid "" @@ -1065,6 +1093,10 @@ msgid "" "itself, so that calling either ``x.f(1)`` or ``C.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." #: ../Doc/reference/datamodel.rst:608 msgid "" @@ -1078,10 +1110,20 @@ msgid "" "class instance are not converted to bound methods; this *only* happens when " "the function is an attribute of the class." msgstr "" +"Tome en cuenta que la transformación de objeto de función a objeto de método " +"de instancia ocurre cada vez que el atributo es obtenido de la instancia. " +"En algunos casos, una optimización fructífera es asignar el atributo a una " +"variable local e invocarla. Note también que esta transformación únicamente " +"ocurre con funciones definidas por usuario; otros objetos invocables (y " +"todos los objetos no invocables) son obtenidos sin transformación. También " +"es importante mencionar que las funciones definidas por el usuario, que son " +"atributos de la instancia de una clase no son convertidos a métodos " +"enlazados; esto ocurre *únicamente* cuando la función es un atributo de la " +"clase." #: ../Doc/reference/datamodel.rst:632 msgid "Generator functions" -msgstr "" +msgstr "Funciones generadoras" #: ../Doc/reference/datamodel.rst:624 msgid "" @@ -1095,10 +1137,19 @@ msgid "" "raised and the iterator will have reached the end of the set of values to be " "returned." msgstr "" +"Una función o método que utiliza la declaración :keyword:`yield` (ver " +"sección :ref:`yield`) se llama :dfn:`generator function`. Dicha función, " +"cuando es invocada, siempre devuelve un objeto iterador que puede ser " +"utilizado para ejecutar el cuerpo de la función: invocando el método " +"iterador :meth:`iterator.__next__` hará que la función se ejecute hasta " +"proporcionar un valor utilizando la declaración :keyword:`!yield`. Cuando " +"la función ejecuta una declaración :keyword:`return` o llega hasta el final, " +"una excepción :exc:`StopIteration` es lanzada y el iterador habrá llegado al " +"final del conjunto de valores a ser devueltos." #: ../Doc/reference/datamodel.rst:642 msgid "Coroutine functions" -msgstr "" +msgstr "Funciones de corrutina" #: ../Doc/reference/datamodel.rst:638 msgid "" @@ -1108,10 +1159,15 @@ msgid "" "as :keyword:`async with` and :keyword:`async for` statements. See also the :" "ref:`coroutine-objects` section." msgstr "" +"Una función o método que es definido utilizando :keyword:`async def` se " +"llama :dfn:`coroutine function`. Dicha función, cuando es invocada, retorna " +"un objeto :term:`coroutine`. Éste puede contener expresiones :keyword:" +"`await`, así como declaraciones :keyword:`async with` y :keyword:`async " +"for`. Ver también la sección :ref:`coroutine-objects`." #: ../Doc/reference/datamodel.rst:661 msgid "Asynchronous generator functions" -msgstr "" +msgstr "Funciones generadoras asincrónicas" #: ../Doc/reference/datamodel.rst:649 msgid "" @@ -1121,6 +1177,11 @@ msgid "" "object which can be used in an :keyword:`async for` statement to execute the " "body of the function." msgstr "" +"Una función o método que es definido usando :keyword:`async def` y que " +"utiliza la declaración :keyword:`yield` se llama :dfn:`asynchronous " +"generator function`. Dicha función, al ser invocada, retorna un objeto " +"iterador asincrónico que puede ser utilizado en una declaración :keyword:" +"`async for` para ejecutar el cuerpo de la función." #: ../Doc/reference/datamodel.rst:655 msgid "" @@ -1131,10 +1192,16 @@ msgid "" "`StopAsyncIteration` exception is raised and the asynchronous iterator will " "have reached the end of the set of values to be yielded." msgstr "" +"Invocando el método del iterador asincrónico :meth:`aiterator.__anext__` " +"retornará un :term:`awaitable` que al ser esperado se ejecutará hasta " +"proporcionar un valor utilizando la expresión :keyword:`yield`. Cuando la " +"función ejecuta una declaración :keyword:`return` vacía o llega a su final, " +"una excepción :exc:`StopAsyncIteration` es lanzada y el iterador asincrónico " +"habrá llegado al final del conjunto de valores a ser producidos." #: ../Doc/reference/datamodel.rst:676 msgid "Built-in functions" -msgstr "" +msgstr "Funciones incorporadas" #: ../Doc/reference/datamodel.rst:669 msgid "" @@ -1147,10 +1214,20 @@ msgid "" "``None`` (but see the next item); :attr:`__module__` is the name of the " "module the function was defined in or ``None`` if unavailable." 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." +"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." #: ../Doc/reference/datamodel.rst:688 msgid "Built-in methods" -msgstr "" +msgstr "Métodos incorporados" #: ../Doc/reference/datamodel.rst:684 msgid "" @@ -1160,10 +1237,16 @@ msgid "" "*alist* is a list object. In this case, the special read-only attribute :" "attr:`__self__` is set to the object denoted by *alist*." 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()``, " +"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*." #: ../Doc/reference/datamodel.rst:695 msgid "Classes" -msgstr "" +msgstr "Clases" #: ../Doc/reference/datamodel.rst:691 msgid "" @@ -1173,20 +1256,27 @@ msgid "" "`__new__` and, in the typical case, to :meth:`__init__` to initialize the " "new instance." msgstr "" +"Las clases son invocables. Estos objetos normalmente actúan como fábricas " +"de nuevas instancias de ellos mismos, pero las variaciones son posibles para " +"los tipos de clases que anulan :meth:`__new__`. Los argumentos de la " +"invocación son pasados a :meth:`__new__` y, en el caso típico, a :meth:" +"`__init__` para iniciar la nueva instancia." #: ../Doc/reference/datamodel.rst:700 msgid "Class Instances" -msgstr "" +msgstr "Instancias de clases" #: ../Doc/reference/datamodel.rst:698 msgid "" "Instances of arbitrary classes can be made callable by defining a :meth:" "`__call__` method in their class." msgstr "" +"Las instancias de clases arbitrarias se pueden hacer invocables definiendo " +"el método :meth:`__call__` en su clase." #: ../Doc/reference/datamodel.rst:750 msgid "Modules" -msgstr "" +msgstr "Módulos" #: ../Doc/reference/datamodel.rst:707 msgid "" @@ -1201,12 +1291,25 @@ msgid "" "not contain the code object used to initialize the module (since it isn't " "needed once the initialization is done)." msgstr "" +"Los módulos son una unidad básica organizacional en código Python, y son " +"creados por el :ref:`import system ` 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)." #: ../Doc/reference/datamodel.rst:719 msgid "" "Attribute assignment updates the module's namespace dictionary, e.g., ``m.x " "= 1`` is equivalent to ``m.__dict__[\"x\"] = 1``." msgstr "" +"La asignación de atributos actualiza el diccionario de espacio de nombres " +"del módulo, p. ej., ``m.x = 1`` es equivalente a ``m.__dict__[“x”] = 1``." #: ../Doc/reference/datamodel.rst:729 msgid "" @@ -1221,12 +1324,25 @@ msgid "" "loaded dynamically from a shared library, it is the pathname of the shared " "library file." msgstr "" +"Atributos predefinidos (escribibles): :attr:`__name__` es el nombre del " +"módulo; :attr:`__doc__` es la cadena de documentación del módulo, o ``None`` " +"si no se encuentra disponible; :attr:`__annotations__` (opcional) es un " +"diccionario que contiene :term:`variable annotations ` " +"recolectado durante la ejecución del cuerpo del módulo; :attr:`__file__` es " +"el nombre de ruta del archivo en el cual el módulo fue cargado, si fue " +"cargado desde un archivo. El atributo :attr:`__file__` puede faltar para " +"ciertos tipos de módulos, tal como módulos C que son vinculados " +"estáticamente al intérprete; para módulos de extensión cargados " +"dinámicamente desde una librería compartida, es el nombre de ruta del " +"archivo de la librería compartida." #: ../Doc/reference/datamodel.rst:742 msgid "" "Special read-only attribute: :attr:`~object.__dict__` is the module's " "namespace as a dictionary object." msgstr "" +"El atributo especial de solo lectura :attr:`~object.__dict__` es el espacio " +"de nombres del módulo como un objeto de diccionario." #: ../Doc/reference/datamodel.rst:747 msgid "" @@ -1235,10 +1351,15 @@ msgid "" "still has live references. To avoid this, copy the dictionary or keep the " "module around while using its dictionary directly." msgstr "" +"Debido a la manera en la que CPython limpia los diccionarios de módulo, el " +"diccionario de módulo será limpiado cuando el módulo se encuentra fuera de " +"alcance, incluso si el diccionario aún tiene referencias existentes. Para " +"evitar esto, copie el diccionario o mantenga el módulo cerca mientras usa el " +"diccionario directamente." #: ../Doc/reference/datamodel.rst:809 msgid "Custom classes" -msgstr "" +msgstr "Clases personalizadas" #: ../Doc/reference/datamodel.rst:753 msgid "" @@ -1255,6 +1376,19 @@ msgid "" "found in the documentation accompanying the 2.3 release at https://www." "python.org/download/releases/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 " +"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/." #: ../Doc/reference/datamodel.rst:777 msgid "" @@ -1266,18 +1400,30 @@ msgid "" "attributes retrieved from a class may differ from those actually 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__`." #: ../Doc/reference/datamodel.rst:787 msgid "" "Class attribute assignments update the class's dictionary, never the " "dictionary of a base class." msgstr "" +"Las asignaciones de atributos de clase actualizan el diccionario de la " +"clase, nunca el diccionario de la clase base." #: ../Doc/reference/datamodel.rst:792 msgid "" "A class object can be called (see above) to yield a class instance (see " "below)." msgstr "" +"Un objeto de clase puede ser invocado (ver arriba) para producir una " +"instancia de clase (ver a continuación)." #: ../Doc/reference/datamodel.rst:802 msgid "" @@ -1290,10 +1436,19 @@ msgid "" "(optional) is a dictionary containing :term:`variable annotations ` collected during class body execution." msgstr "" +"Atributos especiales: :attr:`~definition.__name__` es el nombre de la " +"clase; :attr:`__module__` es el nombre del módulo en el que la clase fue " +"definida; :attr:`~object.__dict__` es el diccionario que contiene el espacio " +"de nombres de la clase; :attr:`~class.__bases__` es una tupla que contiene " +"las clases base, en orden de ocurrencia en la lista de clases base; :attr:" +"`__doc__` es la cadena de documentación de la clase, o ``None`` si no está " +"definida; :attr:`__annotations__` (opcional) es un diccionario que contiene :" +"term:`variable annotations ` recolectado durante la " +"ejecución del cuerpo de la clase." #: ../Doc/reference/datamodel.rst:852 msgid "Class instances" -msgstr "" +msgstr "Instancias de clase" #: ../Doc/reference/datamodel.rst:818 msgid "" @@ -1311,6 +1466,21 @@ msgid "" "class attribute is found, and the object's class has a :meth:`__getattr__` " "method, that is called to satisfy the lookup." msgstr "" +"Una instancia de clase es creado al invocar un objeto de clase (ver " +"arriba). Una instancia de clase tiene implementado un espacio de nombres " +"como diccionario que es el primer lugar en el que se buscan referencias de " +"atributos. Cuando un atributo no es encontrado ahí, y la clase de instancia " +"tiene un atributo con ese nombre, la búsqueda continúa con los atributos de " +"clase. Si se encuentra que un atributo de clase es un objeto de función " +"definido por el usuario, es transformado en un objeto de método de instancia " +"cuyo atributo :attr:`__self__` es la instancia. Los objetos de método y " +"método de clase estáticos también son transformados; ver más adelante debajo " +"de “Clases”. Ver sección :ref:`descriptors` para otra forma en la que los " +"atributos de una clase obtenida a través de sus instancias puede 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:`__getattr__`, éste es llamado para satisfacer la " +"búsqueda." #: ../Doc/reference/datamodel.rst:834 msgid "" @@ -1319,22 +1489,31 @@ msgid "" "`__delattr__` method, this is called instead of updating the instance " "dictionary directly." msgstr "" +"Asignación y eliminación de atributos actualizan el diccionario de la " +"instancia, nunca el diccionario de la clase. Si la clase tiene un método :" +"meth:`__setattr__` o :meth:`__delattr__`, éste es invocado en lugar de " +"actualizar el diccionario de la instancia directamente." #: ../Doc/reference/datamodel.rst:844 msgid "" "Class instances can pretend to be numbers, sequences, or mappings if they " "have methods with certain special names. See section :ref:`specialnames`." msgstr "" +"Instancias de clases pueden pretender ser números, secuencias o mapeos si " +"tienen métodos con ciertos nombres especiales. Ver sección :ref:" +"`specialnames`." #: ../Doc/reference/datamodel.rst:851 msgid "" "Special attributes: :attr:`~object.__dict__` is the attribute dictionary; :" "attr:`~instance.__class__` is the instance's class." msgstr "" +"Atributos especiales: :attr:`~object.__dict__` es el diccionario de " +"atributos; :attr:`~instance.__class__` es la clase de la instancia." #: ../Doc/reference/datamodel.rst:878 msgid "I/O objects (also known as file objects)" -msgstr "" +msgstr "Objetos E/S (también conocidos como objetos de archivo)" #: ../Doc/reference/datamodel.rst:868 msgid "" @@ -1344,6 +1523,11 @@ msgid "" "makefile` method of socket objects (and perhaps by other functions or " "methods provided by extension modules)." msgstr "" +"Un :term:`file object` representa un archivo abierto. Diversos accesos " +"directos se encuentran disponibles para crear objetos de archivo: la función " +"incorporada :func:`open`, así como :func:`os.popen`, :func:`os.fdopen`, y el " +"método de objetos socket :meth:`~socket.makefile` (y quizás por otras " +"funciones y métodos proporcionados por módulos de extensión)." #: ../Doc/reference/datamodel.rst:874 msgid "" @@ -1352,10 +1536,15 @@ msgid "" "and error streams; they are all open in text mode and therefore follow the " "interface defined by the :class:`io.TextIOBase` abstract class." msgstr "" +"Los objetos ``sys.stdin``, ``sys.stdout`` y ``sys.stderr`` son iniciados a " +"objetos de archivos correspondientes a la entrada y salida estándar del " +"intérprete, así como flujos de error; todos ellos están abiertos en el modo " +"de texto y por lo tanto siguen la interface definida por la clase abstracta :" +"class:`io.TextIOBase`." #: ../Doc/reference/datamodel.rst:1123 msgid "Internal types" -msgstr "" +msgstr "Tipos internos" #: ../Doc/reference/datamodel.rst:885 msgid "" @@ -1363,10 +1552,13 @@ msgid "" "Their definitions may change with future versions of the interpreter, but " "they are mentioned here for completeness." msgstr "" +"Algunos tipos utilizados internamente por el intérprete son expuestos al " +"usuario. Sus definiciones pueden cambiar en futuras versiones del " +"intérprete, pero son mencionadas aquí para complementar." #: ../Doc/reference/datamodel.rst:960 msgid "Code objects" -msgstr "" +msgstr "Objetos de código" #: ../Doc/reference/datamodel.rst:892 msgid "" @@ -1379,6 +1571,16 @@ msgid "" "run-time). Unlike function objects, code objects are immutable and contain " "no references (directly or indirectly) to mutable objects." msgstr "" +"Los objetos de código representan código de Python ejecutable *compilado por " +"bytes*, o :term:`bytecode`. La diferencia entre un objeto de código y un " +"objeto de función es que el objeto de función contiene una referencia " +"explícita a los globales de la función (el módulo en el que fue definido), " +"mientras el objeto de código no contiene contexto; de igual manera los " +"valores por defecto de los argumentos son almacenados en el objeto de " +"función, no en el objeto de código (porque representan valores calculados en " +"tiempo de ejecución). A diferencia de objetos de función, los objetos de " +"código son inmutables y no contienen referencias (directas o indirectas) a " +"objetos mutables." #: ../Doc/reference/datamodel.rst:919 msgid ""