diff --git a/dictionaries/_base.txt b/dictionaries/_base.txt index b60c7f9046..dd8c582056 100644 --- a/dictionaries/_base.txt +++ b/dictionaries/_base.txt @@ -6,6 +6,7 @@ Adam Addison Adler Adviértase +agen Ahlstrom aleatoriamente aleatorizar diff --git a/reference/expressions.po b/reference/expressions.po index f760b2a0bc..894a740223 100644 --- a/reference/expressions.po +++ b/reference/expressions.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: 2024-01-21 17:49+0100\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2025-10-24 18:37+0200\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\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.7\n" #: ../Doc/reference/expressions.rst:6 msgid "Expressions" @@ -73,12 +74,11 @@ msgstr "" "a complejo;" #: ../Doc/reference/expressions.rst:36 -#, fuzzy msgid "" "otherwise, if either argument is a floating-point number, the other is " "converted to floating point;" msgstr "" -"de otra forma, si cualquier de los argumentos es un número de punto " +"de otra forma, si cualquiera de los argumentos es un número de punto " "flotante, el otro es convertido a punto flotante;" #: ../Doc/reference/expressions.rst:39 @@ -130,13 +130,13 @@ msgid "" "object. When a name is not bound, an attempt to evaluate it raises a :exc:" "`NameError` exception." msgstr "" -"Cuando el nombre es vinculado a un objeto, la evaluación del átomo yields " +"Cuando el nombre es vinculado a un objeto, la evaluación del átomo genera " "ese objeto. Cuando un nombre no es vinculado, un intento de evaluarlo genera " "una excepción :exc:`NameError`." #: ../Doc/reference/expressions.rst:87 msgid "Private name mangling" -msgstr "" +msgstr "Alteración de nombre privado" #: ../Doc/reference/expressions.rst:89 msgid "" @@ -144,10 +144,13 @@ msgid "" "two or more underscore characters and does not end in two or more " "underscores, it is considered a :dfn:`private name` of that class." msgstr "" +"Cuando un identificador que ocurre textualmente en una definición de clase " +"comienza con dos o más caracteres de guión bajo y no termina en dos o más " +"guiones bajos, es considerado un :dfn:`private name` de esa clase." #: ../Doc/reference/expressions.rst:95 msgid "The :ref:`class specifications `." -msgstr "" +msgstr "La :ref:`class specifications `." #: ../Doc/reference/expressions.rst:97 msgid "" @@ -155,24 +158,35 @@ msgid "" "is generated for them. If the transformed name is longer than 255 " "characters, implementation-defined truncation may happen." msgstr "" +"Más concretamente, los nombres privados son transformados a una forma más " +"larga antes de que se genere código para ellos. Si el nombre transformado " +"tiene más de 255 caracteres, puede producirse un truncamiento definido por " +"la implementación." #: ../Doc/reference/expressions.rst:101 msgid "" "The transformation is independent of the syntactical context in which the " "identifier is used but only the following private identifiers are mangled:" msgstr "" +"La transformación es independiente del contexto sintáctico en el que se " +"utilice el identificador, pero sólo se alteran los siguientes " +"identificadores privados:" #: ../Doc/reference/expressions.rst:104 msgid "" "Any name used as the name of a variable that is assigned or read or any name " "of an attribute being accessed." msgstr "" +"Cualquier nombre utilizado como nombre de una variable que se asigna o se " +"lee o cualquier nombre de un atributo al que se accede." #: ../Doc/reference/expressions.rst:107 msgid "" "The :attr:`~definition.__name__` attribute of nested functions, classes, and " "type aliases is however not mangled." msgstr "" +"Sin embargo, el atributo :attr:`~definition.__name__` de funciones " +"anidadas, clases y alias de tipo no son alterados." #: ../Doc/reference/expressions.rst:110 msgid "" @@ -180,15 +194,21 @@ msgid "" "module is part of a package (i.e., its name contains a dot), the name is " "*not* mangled, e.g., the ``__foo`` in ``import __foo.bar`` is not mangled." msgstr "" +"El nombre de módulos importados, por ejemplo ``__spam`` en ``import " +"__spam``. Si el módulo es parte de un paquete (por ejemplo, si su nombre " +"contiene un punto), el nombre *no* es alterado. Por ejemplo, ``__foo`` en " +"``import __foo.bar`` no es alterado." #: ../Doc/reference/expressions.rst:115 msgid "" "The name of an imported member, e.g., ``__f`` in ``from spam import __f``." msgstr "" +"El nombre de un miembro importado, por ejemplo ``__f`` en ``from spam import " +"__f``." #: ../Doc/reference/expressions.rst:117 msgid "The transformation rule is defined as follows:" -msgstr "" +msgstr "La norma de transformación se define de la siguiente forma:" #: ../Doc/reference/expressions.rst:119 msgid "" @@ -197,6 +217,10 @@ msgid "" "identifier ``__spam`` occurring in a class named ``Foo``, ``_Foo`` or " "``__Foo`` is transformed to ``_Foo__spam``." msgstr "" +"El nombre de la clase, con los caracteres de guión bajo iniciales eliminados " +"y un único caracter de guión bajo inicial insertado, se inserta delante del " +"identificador. Por ejemplo, el identificador ``__spam`` que aparece en la " +"clase llamada ``Foo``, ``_Foo`` o ``__Foo`` se transforma en ``_Foo__spam``." #: ../Doc/reference/expressions.rst:124 msgid "" @@ -204,6 +228,9 @@ msgid "" "identity, e.g., the identifier ``__spam`` occurring in a class named ``_`` " "or ``__`` is left as is." msgstr "" +"Si el nombre de la clase consiste únicamente en caracteres de guión bajo, la " +"transformación es la identidad. Por ejemplo, el identificador ``__spam`` que " +"aparece en una clase llamada ``_`` o ``__`` permanece igual." #: ../Doc/reference/expressions.rst:131 msgid "Literals" @@ -216,7 +243,6 @@ msgstr "" "numéricos:" #: ../Doc/reference/expressions.rst:141 -#, fuzzy msgid "" "Evaluation of a literal yields an object of the given type (string, bytes, " "integer, floating-point number, complex number) with the given value. The " @@ -260,9 +286,9 @@ msgid "" "if the list contains at least one comma, it yields a tuple; otherwise, it " "yields the single expression that makes up the expression list." msgstr "" -"Una expresión entre paréntesis yields lo que la lista de expresión yields: " +"Una expresión entre paréntesis produce lo que la lista de expresión *yield*: " "si la lista contiene al menos una coma, produce una tupla; en caso " -"contrario, yields la única expresión que que forma la lista de expresiones." +"contrario, produce la única expresión que que forma la lista de expresiones." #: ../Doc/reference/expressions.rst:177 msgid "" @@ -270,9 +296,9 @@ msgid "" "immutable, the same rules as for literals apply (i.e., two occurrences of " "the empty tuple may or may not yield the same object)." msgstr "" -"Un par de paréntesis vacío yields un objeto de tupla vacío. Debido a que las " -"tuplas son inmutables, se aplican las mismas reglas que aplican para " -"literales (ej., dos ocurrencias de una tupla vacía puede o no yields el " +"Un par de paréntesis vacío produce un objeto de tupla vacío. Debido a que " +"las tuplas son inmutables, se aplican las mismas reglas que aplican para " +"literales (ej., dos ocurrencias de una tupla vacía puede o no produce el " "mismo objeto)." #: ../Doc/reference/expressions.rst:185 @@ -374,7 +400,6 @@ msgstr "" "alcance implícitamente anidado." #: ../Doc/reference/expressions.rst:244 -#, fuzzy msgid "" "Since Python 3.6, in an :keyword:`async def` function, an :keyword:`!async " "for` clause may be used to iterate over a :term:`asynchronous iterator`. A " @@ -387,13 +412,8 @@ msgstr "" "cláusula :keyword:`!async for` para iterar sobre un :term:`asynchronous " "iterator`. Una comprensión en una función :keyword:`!async def` puede " "consistir en una cláusula :keyword:`!for` o :keyword:`!async for` después de " -"la expresión inicial, puede contener cláusulas :keyword:`!for` o :keyword:`!" -"async for` adicionales y también puede usar expresiones :keyword:`await`. Si " -"una comprensión contiene cláusulas :keyword:`!async for` o expresiones :" -"keyword:`!await` u otras comprensiones asíncronas, se denomina :dfn:" -"`comprensión asíncrona`. Una comprensión asíncrona puede suspender la " -"ejecución de la función de rutina en la que aparece. Véase también :pep:" -"`530`." +"la expresión inicial, puede contener cláusulas adicionales :keyword:`!for` " +"o :keyword:`!async for` y también puede usar expresiones :keyword:`await`." #: ../Doc/reference/expressions.rst:251 msgid "" @@ -404,6 +424,12 @@ msgid "" "comprehension may suspend the execution of the coroutine function in which " "it appears. See also :pep:`530`." msgstr "" +"Si una comprensión contiene cláusulas :keyword:`!async for` or si contiene " +"expresiones :keyword:`!await` u otra comprensión asíncrona en cualquier " +"sitio excepto la expresión iterable en la cláusula :keyword:`!for` más a la " +"izquierda, se le llama una :dfn:`asynchronous comprehension`. Una " +"comprensión asíncrona podría suspender la ejecución de la función de " +"corutina en la que aparece. Consulte también :pep:`530`." #: ../Doc/reference/expressions.rst:258 msgid "Asynchronous comprehensions were introduced." @@ -671,7 +697,7 @@ msgstr "" #: ../Doc/reference/expressions.rst:446 msgid "Yield expressions" -msgstr "Expresiones yield" +msgstr "Expresiones *yield*" #: ../Doc/reference/expressions.rst:459 msgid "" @@ -682,12 +708,12 @@ msgid "" "keyword:`async def` function's body causes that coroutine function to be an " "asynchronous generator function. For example::" msgstr "" -"La expresión yield se usa al definir una función :term:`generator` o una " +"La expresión *yield* se usa al definir una función :term:`generator` o una " "función :term:`asynchronous generator` y, por lo tanto, solo se puede usar " -"en el cuerpo de una definición de función. El uso de una expresión yield en " -"el cuerpo de una función hace que esa función sea una función generadora, y " -"su uso en el cuerpo de una función :keyword:`async def` hace que la función " -"corrutina sea una función generadora asíncrona. Por ejemplo::" +"en el cuerpo de una definición de función. El uso de una expresión *yield* " +"en el cuerpo de una función hace que esa función sea una función generadora, " +"y su uso en el cuerpo de una función :keyword:`async def` hace que la " +"función corrutina sea una función generadora asíncrona. Por ejemplo::" #: ../Doc/reference/expressions.rst:466 msgid "" @@ -697,6 +723,10 @@ msgid "" "async def agen(): # defines an asynchronous generator function\n" " yield 123" msgstr "" +"def gen(): # define una función generadora\n" +" yield 123\n" +"\n" +"async def agen(): # define una función generadora asíncrona" #: ../Doc/reference/expressions.rst:472 msgid "" @@ -714,7 +744,7 @@ msgid "" "Yield expressions prohibited in the implicitly nested scopes used to " "implement comprehensions and generator expressions." msgstr "" -"Expresiones yield prohibidas en los ámbitos anidados implícitamente " +"Expresiones *yield* prohibidas en los ámbitos anidados implícitamente " "utilizados para implementar comprensiones y expresiones de generador." #: ../Doc/reference/expressions.rst:480 @@ -728,7 +758,6 @@ msgstr "" "sección :ref:`asynchronous-generator-functions`." #: ../Doc/reference/expressions.rst:484 -#, fuzzy msgid "" "When a generator function is called, it returns an iterator known as a " "generator. That generator then controls the execution of the generator " @@ -748,24 +777,24 @@ msgid "" "`None`. Otherwise, if :meth:`~generator.send` is used, then the result will " "be the value passed in to that method." msgstr "" -"Cuando se llama a una función generadora, devuelve un iterador conocido como " +"Cuando se llama a una función generadora, retorna un iterador conocido como " "generador. Ese generador luego controla la ejecución de la función del " "generador. La ejecución comienza cuando se llama a uno de los métodos del " -"generador. En ese momento, la ejecución continúa con la primera expresión de " -"rendimiento, donde se suspende nuevamente, devolviendo el valor de :token:" -"`~python-grammar:expression_list` al llamador del generador, o ``None`` si :" -"token:`~python-grammar:expression_list` se omite. Por suspendido queremos " -"decir que se retiene todo el estado local, incluidos los enlaces actuales de " -"las variables locales, el puntero de instrucción, la pila de evaluación " -"interna y el estado de cualquier manejo de excepciones. Cuando se reanuda la " +"generador. En ese momento, la ejecución procede con la primera expresión " +"*yield*, donde se suspende nuevamente, retornando el valor de :token:" +"`~python-grammar:yield_list` a quien llame al generador, o ``None`` si :" +"token:`~python-grammar:yield_list` se omite. Por suspendido entiéndase que " +"se retiene todo el estado local, incluyendo los enlaces actuales de las " +"variables locales, el puntero de instrucción, la pila de evaluación interna " +"y el estado de cualquier manejo de excepciones. Cuando se reanuda la " "ejecución llamando a uno de los métodos del generador, la función puede " -"continuar exactamente como si la expresión de rendimiento fuera simplemente " -"otra llamada externa. El valor de la expresión de rendimiento después de la " -"reanudación depende del método que reanudó la ejecución. Si se utiliza :meth:" -"`~generator.__next__` (normalmente a través de un :keyword:`for` o el " -"integrado :func:`next`), el resultado es :const:`None`. De lo contrario, si " -"se utiliza :meth:`~generator.send`, el resultado será el valor pasado a ese " -"método." +"continuar exactamente como si la expresión *yield* fuera simplemente otra " +"llamada externa. El valor de la expresión *yield* después de la reanudación " +"depende del método que reanudó la ejecución. Si se utiliza :meth:`~generator." +"__next__` (normalmente a través de un :keyword:`for` o la función " +"incorporada :func:`next`), el resultado es :const:`None`. De lo contrario, " +"si se utiliza :meth:`~generator.send`, el resultado será el valor pasado a " +"ese método." #: ../Doc/reference/expressions.rst:504 msgid "" @@ -775,11 +804,11 @@ msgid "" "function cannot control where the execution should continue after it yields; " "the control is always transferred to the generator's caller." msgstr "" -"Todo este hace a las funciones generadores similar a las corrutinas; yield " -"múltiples veces, tienen más de un punto de entrada y su ejecución puede ser " -"suspendida. La única diferencia es que una función generadora no puede " -"controlar si la ejecución debe continuar después de yield; el control " -"siempre es transferido al invocador del generador." +"Todo este hace a las funciones generadores similar a las corrutinas; " +"producen múltiples veces, tienen más de un punto de entrada y su ejecución " +"puede ser suspendida. La única diferencia es que una función generadora no " +"puede controlar si la ejecución debe continuar después de que ceda; el " +"control siempre es transferido al invocador del generador." #: ../Doc/reference/expressions.rst:510 msgid "" @@ -789,11 +818,11 @@ msgid "" "meth:`~generator.close` method will be called, allowing any pending :keyword:" "`finally` clauses to execute." msgstr "" -"Las expresiones yield están permitidas en cualquier lugar en un constructo :" -"keyword:`try`. Si el generador no es reanudado antes de finalizar " -"(alcanzando un recuento de referencia cero o colectando basura), el método " -"generador-iterador :meth:`~generator.close` será invocado, permitiendo la " -"ejecución de cualquier cláusula :keyword:`finally` pendiente." +"Las expresiones *yield* están permitidas en cualquier lugar en un " +"constructo :keyword:`try`. Si el generador no es reanudado antes de " +"finalizar (alcanzando un recuento de referencia cero o colectando basura), " +"el método generador-iterador :meth:`~generator.close` será invocado, " +"permitiendo la ejecución de cualquier cláusula :keyword:`finally` pendiente." #: ../Doc/reference/expressions.rst:519 msgid "" @@ -825,7 +854,7 @@ msgid "" msgstr "" "Cuando el iterador subyacente está completo, el atributo :attr:" "`~StopIteration.value` de la instancia :exc:`StopIteration` generada se " -"convierte en el valor de la expresión yield. Puede ser establecido " +"convierte en el valor de la expresión *yield*. Puede ser establecido " "explícitamente al generar :exc:`StopIteration` o automáticamente cuando el " "subiterador es un generador (retornando un valor del subgenerador)." @@ -840,7 +869,7 @@ msgid "" "The parentheses may be omitted when the yield expression is the sole " "expression on the right hand side of an assignment statement." msgstr "" -"Los paréntesis pueden ser omitidos cuando la expresión yield es la única " +"Los paréntesis pueden ser omitidos cuando la expresión *yield* es la única " "expresión en el lado derecho de una sentencia de asignación." #: ../Doc/reference/expressions.rst:543 @@ -913,7 +942,6 @@ msgstr "" "excepción :exc:`ValueError`." #: ../Doc/reference/expressions.rst:574 -#, fuzzy msgid "" "Starts the execution of a generator function or resumes it at the last " "executed yield expression. When a generator function is resumed with a :" @@ -926,12 +954,12 @@ msgid "" msgstr "" "Inicia la ejecución de una función generadora o la reanuda en la última " "expresión de rendimiento ejecutada. Cuando se reanuda una función de " -"generador con un método :meth:`~generator.__next__`, la expresión de " -"rendimiento actual siempre se evalúa como :const:`None`. Luego, la ejecución " -"continúa con la siguiente expresión de rendimiento, donde el generador se " -"suspende nuevamente y el valor de :token:`~python-grammar:expression_list` " -"se devuelve a la persona que llama de :meth:`__next__`. Si el generador sale " -"sin generar otro valor, se genera una excepción :exc:`StopIteration`." +"generador con un método :meth:`~generator.send`, la expresión de rendimiento " +"actual siempre se evalúa como :const:`None`. Luego, la ejecución continúa " +"con la siguiente expresión de rendimiento, donde el generador se suspende " +"nuevamente y el valor de :token:`~python-grammar:yield_list` se retorna a la " +"aquello que llame :meth:`__next__`. Si el generador sale sin generar otro " +"valor, se lanza una excepción :exc:`StopIteration`." #: ../Doc/reference/expressions.rst:583 msgid "" @@ -952,7 +980,7 @@ msgid "" "expression that could receive the value." msgstr "" "Reanuda la ejecución y \"envía\" un valor dentro de la función generadora. " -"El argumento *value* se convierte en el resultado de la expresión yield " +"El argumento *value* se convierte en el resultado de la expresión *yield* " "actual. El método :meth:`send` retorna el siguiente valor producido por el " "generador o genera :exc:`StopIteration` si el generador termina sin producir " "otro valor. Cuando se ejecuta :meth:`send` para comenzar el generador, debe " @@ -967,7 +995,7 @@ msgid "" "If the generator function does not catch the passed-in exception, or raises " "a different exception, then that exception propagates to the caller." msgstr "" -"Genera una excepción en el punto donde se pausó el generador y devuelve el " +"Genera una excepción en el punto donde se pausó el generador y retorna el " "siguiente valor generado por la función del generador. Si el generador sale " "sin generar otro valor, se genera una excepción :exc:`StopIteration`. Si la " "función generadora no detecta la excepción pasada o genera una excepción " @@ -1009,7 +1037,6 @@ msgstr "" "puede eliminarse en una versión futura de Python." #: ../Doc/reference/expressions.rst:629 -#, fuzzy msgid "" "Raises a :exc:`GeneratorExit` at the point where the generator function was " "paused. If the generator function catches the exception and returns a " @@ -1021,19 +1048,23 @@ msgid "" "exited due to an exception or normal exit, :meth:`close` returns :const:" "`None` and has no other effect." msgstr "" -"Genera :exc:`GeneratorExit` en el punto donde la función generadora fue " -"pausada. Si la función generadora termina sin errores, está ya cerrada o " -"genera :exc:`GeneratorExit` (sin cazar la excepción), close retorna a su " -"invocador. Si el generador produce un valor, se genera un :exc:" -"`RuntimeError`. Si el generador genera cualquier otra excepción, es " -"propagado al invocador. :meth:`close` no hace nada si el generador ya fue " -"terminado debido a una excepción o una salida normal." +"Lanza la excepción :exc:`GeneratorExit` en el punto donde la función " +"generadora fue pausada. Si la función generadora atrapa la excepción y " +"retorna un valor, este valor se retorna de :meth:`close`. Si la función " +"generadora ya está ya cerrada o lanza :exc:`GeneratorExit` (sin atrapar la " +"excepción), :meth:`close` retorna :const:`None`. Si el generador produce un " +"valor, se lanza un :exc:`RuntimeError`. Si el generador lanza cualquier otra " +"excepción, es propagado al invocador. Si el generador ya fue terminado " +"debido a una excepción o una salida normal, :meth:`close` retorna :const:" +"`None` y no tiene otro efecto." #: ../Doc/reference/expressions.rst:641 msgid "" "If a generator returns a value upon being closed, the value is returned by :" "meth:`close`." msgstr "" +"Si un generador retorna un valor al cerrarse, el valor es retornado por :" +"meth:`close`." #: ../Doc/reference/expressions.rst:647 msgid "Examples" @@ -1074,6 +1105,30 @@ msgid "" ">>> generator.close()\n" "Don't forget to clean up when 'close()' is called." msgstr "" +">>> def echo(value=None):\n" +"... print(\"Execution starts when 'next()' is called for the first time." +"\")\n" +"... try:\n" +"... while True:\n" +"... try:\n" +"... value = (yield value)\n" +"... except Exception as e:\n" +"... value = e\n" +"... finally:\n" +"... print(\"Don't forget to clean up when 'close()' is called.\")\n" +"...\n" +">>> generator = echo(1)\n" +">>> print(next(generator))\n" +"Execution starts when 'next()' is called for the first time.\n" +"1\n" +">>> print(next(generator))\n" +"None\n" +">>> print(generator.send(2))\n" +"2\n" +">>> generator.throw(TypeError, \"spam\")\n" +"TypeError('spam',)\n" +">>> generator.close()\n" +"Don't forget to clean up when 'close()' is called." #: ../Doc/reference/expressions.rst:676 msgid "" @@ -1093,9 +1148,9 @@ msgid "" "keyword:`async def` further defines the function as an :term:`asynchronous " "generator` function." msgstr "" -"La presencia de una expresión yield en una función o método definido usando :" -"keyword:`async def` adicionalmente define la función como una función :term:" -"`asynchronous generator`." +"La presencia de una expresión *yield* en una función o método definido " +"usando :keyword:`async def` adicionalmente define la función como una " +"función :term:`asynchronous generator`." #: ../Doc/reference/expressions.rst:688 msgid "" @@ -1114,7 +1169,6 @@ msgstr "" "sentencia :keyword:`for`." #: ../Doc/reference/expressions.rst:695 -#, fuzzy msgid "" "Calling one of the asynchronous generator's methods returns an :term:" "`awaitable` object, and the execution starts when this object is awaited on. " @@ -1131,21 +1185,21 @@ msgid "" "then the result is :const:`None`. Otherwise, if :meth:`~agen.asend` is used, " "then the result will be the value passed in to that method." msgstr "" -"Llamar a uno de los métodos del generador asíncrono devuelve un objeto :term:" +"Llamar a uno de los métodos del generador asíncrono retorna un objeto :term:" "`awaitable` y la ejecución comienza cuando se espera este objeto. En ese " -"momento, la ejecución procede a la primera expresión yield, donde se " -"suspende nuevamente, devolviendo el valor de :token:`~python-grammar:" -"expression_list` a la rutina en espera. Al igual que con un generador, la " +"momento, la ejecución procede a la primera expresión *yield*, donde se " +"suspende nuevamente, retornando el valor de :token:`~python-grammar:" +"yield_list` a la corutina en espera. Al igual que con un generador, la " "suspensión significa que se retiene todo el estado local, incluidos los " "enlaces actuales de las variables locales, el puntero de instrucción, la " "pila de evaluación interna y el estado de cualquier manejo de excepción. " -"Cuando se reanuda la ejecución esperando el siguiente objeto devuelto por " +"Cuando se reanuda la ejecución esperando el siguiente objeto retornado por " "los métodos del generador asíncrono, la función puede proceder exactamente " -"como si la expresión yield fuera simplemente otra llamada externa. El valor " -"de la expresión yield después de reanudar depende del método que reanudó la " -"ejecución. Si se utiliza :meth:`~agen.__anext__`, el resultado es :const:" -"`None`. De lo contrario, si se usa :meth:`~agen.asend`, el resultado será el " -"valor pasado a ese método." +"como si la expresión *yield* fuera simplemente otra llamada externa. El " +"valor de la expresión *yield* después de reanudar depende del método que " +"reanudó la ejecución. Si se utiliza :meth:`~agen.__anext__`, el resultado " +"es :const:`None`. De lo contrario, si se usa :meth:`~agen.asend`, el " +"resultado será el valor pasado a ese método." #: ../Doc/reference/expressions.rst:710 msgid "" @@ -1182,11 +1236,11 @@ msgid "" "the resulting coroutine object, thus allowing any pending :keyword:`!" "finally` clauses to execute." msgstr "" -"En una función generadora asincrónica, las expresiones yield están " +"En una función generadora asincrónica, las expresiones *yield* están " "permitidas en cualquier lugar de un constructo :keyword:`try`. Sin embargo, " "si un generador asincrónico no es reanudado antes de finalizar (alcanzando " "un contador de referencia cero o recogiendo basura), entonces una expresión " -"yield dentro de un constructo :keyword:`!try` podría fallar al ejecutar " +"*yield* dentro de un constructo :keyword:`!try` podría fallar al ejecutar " "cláusulas :keyword:`finally` pendientes. En este caso, es responsabilidad " "del bucle de eventos o del planificador ejecutando el generador asincrónico " "invocar el método :meth:`~agen.aclose` del generador-iterador asincrónico y " @@ -1236,7 +1290,6 @@ msgstr "" "los cuales son usados para controlar la ejecución de una función generadora." #: ../Doc/reference/expressions.rst:757 -#, fuzzy msgid "" "Returns an awaitable which when run starts to execute the asynchronous " "generator or resumes it at the last executed yield expression. When an " @@ -1250,17 +1303,17 @@ msgid "" "`StopAsyncIteration` exception, signalling that the asynchronous iteration " "has completed." msgstr "" -"Devuelve un valor en espera que, cuando se ejecuta, comienza a ejecutar el " -"generador asíncrono o lo reanuda en la última expresión de rendimiento " -"ejecutada. Cuando se reanuda una función de generador asíncrono con un " -"método :meth:`~agen.__anext__`, la expresión de rendimiento actual siempre " -"se evalúa como :const:`None` en el valor awaitable devuelto, que cuando se " -"ejecute continuará con la siguiente expresión de rendimiento. El valor de :" -"token:`~python-grammar:expression_list` de la expresión de rendimiento es el " -"valor de la excepción :exc:`StopIteration` generada por la rutina de " -"finalización. Si el generador asincrónico sale sin generar otro valor, " -"awaitable genera una excepción :exc:`StopAsyncIteration`, lo que indica que " -"la iteración asincrónica se ha completado." +"Retorna un aguardable que, cuando se ejecuta, comienza a ejecutar el " +"generador asíncrono o lo reanuda en la última expresión *yield* ejecutada. " +"Cuando se reanuda una función de generador asíncrono con un método :meth:" +"`~agen.__anext__`, la expresión *yield* actual siempre se evalúa como :const:" +"`None` en el aguardable retornado, que cuando se ejecute continuará con la " +"siguiente expresión *yield*. El valor de :token:`~python-grammar:yield_list` " +"de la expresión *yield* es el valor de la excepción :exc:`StopIteration` " +"generada por la corutina de finalización. Si el generador asincrónico " +"finaliza sin generar otro valor, el aguardable genera una excepción :exc:" +"`StopAsyncIteration`, lo que indica que la iteración asincrónica se ha " +"completado." #: ../Doc/reference/expressions.rst:769 msgid "" @@ -1270,7 +1323,6 @@ msgstr "" "`async for`." #: ../Doc/reference/expressions.rst:774 -#, fuzzy msgid "" "Returns an awaitable which when run resumes the execution of the " "asynchronous generator. As with the :meth:`~generator.send` method for a " @@ -1284,16 +1336,16 @@ msgid "" "`None` as the argument, because there is no yield expression that could " "receive the value." msgstr "" -"Retorna un esperable el cual cuando corre reanuda la ejecución del generador " -"asincrónico. Como el método :meth:`~generator.send()` para un generador, " -"este \"envía\" un valor a la función generadora asincrónica y el argumento " -"*value* se convierte en el resultado de la expresión yield actual. El " -"esperable retornado por el método :meth:`asend` retornará el siguiente valor " -"producido por el generador como el valor de la :exc:`StopIteration` generada " -"o genera :exc:`StopAsyncIteration` si el generador asincrónico termina sin " -"yield otro valor. Cuando se invoca :meth:`asend` para empezar el generador " -"asincrónico, debe ser invocado con :const:`None` como argumento, porque no " -"hay expresión yield que pueda recibir el valor." +"Retorna un aguardable el cual ejecuta cuando se reanude la ejecución del " +"generador asincrónico. Como el método :meth:`~generator.send` para un " +"generador, este \"envía\" un valor a la función generadora asincrónica y el " +"argumento *value* se convierte en el resultado de la expresión *yield* " +"actual. El aguardable retornado por el método :meth:`asend` retornará el " +"siguiente valor producido por el generador como el valor de la :exc:" +"`StopIteration` generada o genera :exc:`StopAsyncIteration` si el generador " +"asincrónico termina sin generar otro valor. Cuando se invoca :meth:`asend` " +"para empezar el generador asincrónico, debe ser invocado con :const:`None` " +"como argumento, porque no hay expresión *yield* que pueda recibir el valor." #: ../Doc/reference/expressions.rst:790 msgid "" @@ -1306,14 +1358,14 @@ msgid "" "exception, or raises a different exception, then when the awaitable is run " "that exception propagates to the caller of the awaitable." msgstr "" -"Retorna un esperable que genera una excepción de tipo ``type`` en el punto " +"Retorna un aguardable que genera una excepción de tipo ``type`` en el punto " "donde el generador asincrónico fue pausado y retorna el siguiente valor " -"yield por la función generadora como el valor de la excepción :exc:" -"`StopIteration` generada. Si el generador asincrónico termina sin yield otro " -"valor, el esperable genera una excepción :exc:`StopAsyncIteration`. Si la " -"función generadora no caza la excepción pasada o genera una excepción " -"diferente, entonces cuando se ejecuta el esperable esa excepción se propaga " -"al invocador del esperable." +"producido por la función generadora como el valor de la excepción :exc:" +"`StopIteration` generada. Si el generador asincrónico termina sin producir " +"otro valor, el aguardable genera una excepción :exc:`StopAsyncIteration`. Si " +"la función generadora no caza la excepción pasada o genera una excepción " +"diferente, entonces cuando se ejecuta el aguardable esa excepción se propaga " +"al invocador del aguardable." #: ../Doc/reference/expressions.rst:810 msgid "" @@ -1330,18 +1382,18 @@ msgid "" "due to an exception or normal exit, then further calls to :meth:`aclose` " "will return an awaitable that does nothing." msgstr "" -"Retorna un esperable que cuando corre lanza un :exc:`GeneratorExit` a la " +"Retorna un aguardable que cuando corre lanza un :exc:`GeneratorExit` a la " "función generadora asincrónica en el punto donde fue pausada. Si la función " -"generadora asincrónica termina exitosamente, ya está cerrada o genera :exc:" -"`GeneratorExit` (sin cazar la excepción), el esperable retornado lanzará una " -"excepción :exc:`StopIteration`. Otros esperables retornados por subsecuentes " -"invocaciones al generador asincrónico lanzarán una excepción :exc:" -"`StopAsyncIteration`. Si el generador asincrónico yield un valor, el " -"esperable genera un :exc:`RuntimeError`. Si el generador asincrónico genera " -"cualquier otra excepción, esta es propagada al invocador del esperable. Si " +"generadora asincrónica termina exitosamente, ya está cerrada o genera :exc:" +"`GeneratorExit` (sin cazar la excepción), el aguardable retornado lanzará " +"una excepción :exc:`StopIteration`. Otros aguardables retornados por " +"subsecuentes invocaciones al generador asincrónico lanzarán una excepción :" +"exc:`StopAsyncIteration`. Si el generador asincrónico produce un valor, el " +"aguardable genera un :exc:`RuntimeError`. Si el generador asincrónico genera " +"cualquier otra excepción, esta es propagada al invocador del aguardable. Si " "el generador asincrónico ha terminado debido a una excepción o una " "terminación normal, entonces futuras invocaciones a :meth:`aclose` " -"retornarán un esperable que no hace nada." +"retornarán un aguardable que no hace nada." #: ../Doc/reference/expressions.rst:826 msgid "Primaries" @@ -1365,7 +1417,6 @@ msgstr "" "Una referencia de atributo es un primario seguido de un punto y un nombre:" #: ../Doc/reference/expressions.rst:856 -#, fuzzy msgid "" "The primary must evaluate to an object of a type that supports attribute " "references, which most objects do. This object is then asked to produce the " @@ -1375,12 +1426,10 @@ msgid "" msgstr "" "El primario debe evaluar a un objeto de un tipo que soporte referencias de " "atributos, lo cual la mayoría de los objetos soportan. Luego se le pide a " -"este objeto que produzca el atributo cuyo nombre es el identificador. Esta " -"producción puede ser personalizada sobrescribiendo el método :meth:" -"`__getattr__`. Si este atributo no es esperable, se genera la excepción :exc:" -"`AtributeError`. De otra forma, el tipo y el valor del objeto producido es " -"determinado por el objeto. Múltiples evaluaciones la misma referencia de " -"atributo pueden yield diferentes objetos." +"este objeto que produzca el atributo cuyo nombre es el identificador. Este " +"tipo y valor producidos son determinados por el objeto. Múltiples " +"evaluaciones sobre la misma referencia de atributo pueden producir objetos " +"diferentes." #: ../Doc/reference/expressions.rst:862 msgid "" @@ -1389,12 +1438,18 @@ msgid "" "meth:`!__getattribute__` method is called first and either returns a value " "or raises :exc:`AttributeError` if the attribute is not available." msgstr "" +"Esta producción puede ser personalizada al sobreescribir el método :meth:" +"`~object.__getattribute__` o :meth:`~object.__getattr__`. El método :meth:`!" +"__getattribute__` es llamado primero y retorna un valor o se genera la " +"excepción :exc:`AttributeError` si el atributo no está disponible." #: ../Doc/reference/expressions.rst:868 msgid "" "If an :exc:`AttributeError` is raised and the object has a :meth:`!" "__getattr__` method, that method is called as a fallback." msgstr "" +"Si se genera una excepción :exc:`AttributeError` y el objeto tiene un " +"método :meth:`!__getattr__`, dicho método es llamado como respaldo." #: ../Doc/reference/expressions.rst:874 msgid "Subscriptions" @@ -1409,7 +1464,7 @@ msgid "" msgstr "" "La suscripción de una instancia de un :ref:`container class ` generalmente seleccionará un elemento del contenedor. La suscripción " -"de un :term:`generic class ` generalmente devolverá un objeto :" +"de un :term:`generic class ` generalmente retornará un objeto :" "ref:`GenericAlias `." #: ../Doc/reference/expressions.rst:897 @@ -1438,14 +1493,14 @@ msgstr "" "`classgetitem-versus-getitem`." #: ../Doc/reference/expressions.rst:907 -#, fuzzy msgid "" "If the expression list contains at least one comma, or if any of the " "expressions are starred, the expression list will evaluate to a :class:" "`tuple` containing the items of the expression list. Otherwise, the " "expression list will evaluate to the value of the list's sole member." msgstr "" -"Si la lista de expresiones contiene al menos una coma, se evaluará como un :" +"Si la lista de expresiones contiene al menos una coma o si alguna de las " +"expresiones está destacada, la lista de expresiones se evaluará como un :" "class:`tuple` que contiene los elementos de la lista de expresiones. De lo " "contrario, la lista de expresiones evaluará el valor del único miembro de la " "lista." @@ -1453,6 +1508,8 @@ msgstr "" #: ../Doc/reference/expressions.rst:912 msgid "Expressions in an expression list may be starred. See :pep:`646`." msgstr "" +"Las expresiones en una lista de expresiones pueden ser destacadas. See :pep:" +"`646`." #: ../Doc/reference/expressions.rst:915 msgid "" @@ -1488,7 +1545,6 @@ msgstr "" "incluyen las clases :class:`str`, :class:`list` y :class:`tuple`." #: ../Doc/reference/expressions.rst:927 -#, fuzzy msgid "" "The formal syntax makes no special provision for negative indices in :term:" "`sequences `. However, built-in sequences all provide a :meth:" @@ -1509,9 +1565,9 @@ msgstr "" "resultante debe ser un número entero no negativo menor que el número de " "elementos de la secuencia, y la suscripción selecciona el elemento cuyo " "índice es ese valor (contando desde cero). Dado que la compatibilidad con " -"los índices negativos y el corte se produce en el método :meth:`__getitem__` " -"del objeto, las subclases que sobrescriban este método deberán agregar " -"explícitamente esa compatibilidad." +"los índices negativos y la segmentación se produce en el método :meth:" +"`~object.__getitem__` del objeto, las subclases que sobrescriban este método " +"deberán agregar explícitamente esa compatibilidad." #: ../Doc/reference/expressions.rst:941 msgid "" @@ -1556,7 +1612,6 @@ msgstr "" "segmento adecuado)." #: ../Doc/reference/expressions.rst:988 -#, fuzzy msgid "" "The semantics for a slicing are as follows. The primary is indexed (using " "the same :meth:`~object.__getitem__` method as normal subscription) with a " @@ -1571,17 +1626,17 @@ msgid "" "missing expressions." msgstr "" "Las semánticas para un segmento son las siguientes. El primario es indexado " -"(usando el mismo método :meth:`__getitem__` de una subscripción normal) con " -"una clave que se construye del segmento de lista, tal como sigue. Si el " -"segmento de lista contiene al menos una coma, la clave es una tupla que " -"contiene la conversión de los elementos del segmento; de otra forma, la " -"conversión del segmento de lista solitario es la clave. La conversión de un " -"elemento de segmento que es una expresión es esa expresión. La conversión de " -"un segmento apropiado es un objeto segmento (ver sección :ref:`types`) cuyos " -"atributos :attr:`~slice.start`, :attr:`~slice.stop` y :attr:`~slice.step` " -"son los valores de las expresiones dadas como límite inferior, límite " -"superior y paso, respectivamente, substituyendo ``None`` para las " -"expresiones faltantes." +"(usando el mismo método :meth:`~object.__getitem__` de una subscripción " +"normal) con una clave que se construye del segmento de lista, tal como " +"sigue. Si el segmento de lista contiene al menos una coma, la clave es una " +"tupla que contiene la conversión de los elementos del segmento; en caso " +"contrario, la conversión del segmento de lista solitario es la clave. La " +"conversión de un elemento de segmento que es una expresión es esa expresión. " +"La conversión de un segmento apropiado es un objeto segmento (ver sección :" +"ref:`types`) cuyos atributos :attr:`~slice.start`, :attr:`~slice.stop` y :" +"attr:`~slice.step` son los valores de las expresiones dadas como límite " +"inferior, límite superior y paso, respectivamente, substituyendo ``None`` " +"para las expresiones faltantes." #: ../Doc/reference/expressions.rst:1012 msgid "Calls" @@ -1604,7 +1659,6 @@ msgstr "" "posicionales y de palabra clave pero no afecta a las semánticas." #: ../Doc/reference/expressions.rst:1037 -#, fuzzy msgid "" "The primary must evaluate to a callable object (user-defined functions, " "built-in functions, methods of built-in objects, class objects, methods of " @@ -1616,10 +1670,10 @@ msgstr "" "La clave primaria debe evaluar a un objeto invocable (funciones definidas " "por el usuario, funciones incorporadas, métodos de objetos incorporados, " "métodos de instancias de clases y todos los objetos que tienen un método :" -"meth:`__call__` son invocables). Todas las expresiones de argumento son " -"evaluadas antes de que la invocación sea intentada. Por favor, refiera a la " -"sección :ref:`function` para la sintaxis formal de listas de :term:" -"`parameter`." +"meth:`~object.__call__` son invocables). Todas las expresiones de argumento " +"son evaluadas antes de que la invocación sea intentada. Por favor, consulte " +"la sección :ref:`function` para saber más sobre la sintaxis de listas :term:" +"`parameter` formales." #: ../Doc/reference/expressions.rst:1045 msgid "" @@ -1748,6 +1802,10 @@ msgid "" ">>> f(1, *(2,))\n" "1 2" msgstr "" +">>> def f(a, b):\n" +"... print(a, b)\n" +"...\n" +">>> f(b=1, *(2,))" #: ../Doc/reference/expressions.rst:1111 msgid "" @@ -1885,13 +1943,12 @@ msgid "a class instance:" msgstr "una instancia de clase:" #: ../Doc/reference/expressions.rst:1197 -#, fuzzy msgid "" "The class must define a :meth:`~object.__call__` method; the effect is then " "the same as if that method was called." msgstr "" -"La clase debe definir un método :meth:`__call__`; el efecto es entonces el " -"mismo que si ese método fuera invocado." +"La clase debe definir un método :meth:`~object.__call__` ; el efecto es " +"entonces el mismo que si ese método fuera invocado." #: ../Doc/reference/expressions.rst:1205 ../Doc/reference/expressions.rst:2004 msgid "Await expression" @@ -1937,7 +1994,7 @@ msgid "" "converted to a common type, and the result is of that type." msgstr "" "El operador de potencia tiene las mismas semánticas que la función " -"incorporada :func:`pow` cuando se invoca con dos argumentos: este yield su " +"incorporada :func:`pow` cuando se invoca con dos argumentos: este produce su " "argumento de la izquierda elevado a la potencia de su argumento de la " "derecha. Los argumentos numéricos se convierten primero en un tipo común y " "el resultado es de ese tipo." @@ -1966,13 +2023,12 @@ msgstr "" "un :exc:`ValueError`.)" #: ../Doc/reference/expressions.rst:1249 -#, fuzzy msgid "" "This operation can be customized using the special :meth:`~object.__pow__` " "and :meth:`~object.__rpow__` methods." msgstr "" "Esta operación se puede personalizar utilizando los métodos especiales :meth:" -"`__mul__` y :meth:`__rmul__`." +"`~object.__pow__` y :meth:`~object.__rpow__`." #: ../Doc/reference/expressions.rst:1255 msgid "Unary arithmetic and bitwise operations" @@ -1985,36 +2041,35 @@ msgstr "" "prioridad:" #: ../Doc/reference/expressions.rst:1272 -#, fuzzy msgid "" "The unary ``-`` (minus) operator yields the negation of its numeric " "argument; the operation can be overridden with the :meth:`~object.__neg__` " "special method." msgstr "" -"El operador unario ``-`` (menos) yield la negación de su argumento numérico; " -"la operación se puede anular con el método especial :meth:`__neg__`." +"El operador unario ``-`` (menos) genera la negación de su argumento " +"numérico; la operación se puede sobreescribir con el método especial :meth:" +"`~object.__neg__`." #: ../Doc/reference/expressions.rst:1280 -#, fuzzy msgid "" "The unary ``+`` (plus) operator yields its numeric argument unchanged; the " "operation can be overridden with the :meth:`~object.__pos__` special method." msgstr "" -"El operador unario ``+`` (más) yield su argumento numérico sin cambios; la " -"operación se puede anular con el método especial :meth:`__pos__`." +"El operador unario ``+`` (más) genera su argumento numérico sin cambios; la " +"operación se puede sobreescribir con el método especial :meth:`~object." +"__pos__`." #: ../Doc/reference/expressions.rst:1287 -#, fuzzy msgid "" "The unary ``~`` (invert) operator yields the bitwise inversion of its " "integer argument. The bitwise inversion of ``x`` is defined as ``-(x+1)``. " "It only applies to integral numbers or to custom objects that override the :" "meth:`~object.__invert__` special method." msgstr "" -"El operador unario ``~`` (invertir) yield la inversión bit a bit de su " +"El operador unario ``~`` (invertir) genera la inversión bit a bit de su " "argumento entero. La inversión bit a bit de ``x`` se define como ``-(x+1)``. " "Solo se aplica a números enteros o a objetos personalizados que anulan el " -"método especial :meth:`__invert__`." +"método especial :meth:`~object.__invert__`." #: ../Doc/reference/expressions.rst:1296 msgid "" @@ -2049,21 +2104,20 @@ msgid "" "case, sequence repetition is performed; a negative repetition factor yields " "an empty sequence." msgstr "" -"El operador ``*`` (multiplicación) yield el producto de sus argumentos. Los " +"El operador ``*`` (multiplicación) genera el producto de sus argumentos. Los " "argumentos pueden ser ambos números, o un argumento debe ser un entero y el " "otro debe ser una secuencia. En el primer caso, los números se convierten a " "un tipo común y luego son multiplicados. En el segundo caso, se realiza una " -"repetición de secuencia; un factor de repetición negativo yield una " +"repetición de secuencia; un factor de repetición negativo produce una " "secuencia vacía." #: ../Doc/reference/expressions.rst:1328 -#, fuzzy msgid "" "This operation can be customized using the special :meth:`~object.__mul__` " "and :meth:`~object.__rmul__` methods." msgstr "" "Esta operación se puede personalizar utilizando los métodos especiales :meth:" -"`__mul__` y :meth:`__rmul__`." +"`~object.__mul__` y :meth:`~object.__rmul__`." #: ../Doc/reference/expressions.rst:1335 msgid "" @@ -2074,13 +2128,12 @@ msgstr "" "matrices. Ningún tipo incorporado en Python implementa este operador." #: ../Doc/reference/expressions.rst:1338 -#, fuzzy msgid "" "This operation can be customized using the special :meth:`~object." "__matmul__` and :meth:`~object.__rmatmul__` methods." msgstr "" "Esta operación se puede personalizar utilizando los métodos especiales :meth:" -"`__mul__` y :meth:`__rmul__`." +"`~object.__matmul__` y :meth:`~object.__rmatmul__`." #: ../Doc/reference/expressions.rst:1349 msgid "" @@ -2106,9 +2159,12 @@ msgid "" "operation can be customized using the special :meth:`~object.__floordiv__` " "and :meth:`~object.__rfloordiv__` methods." msgstr "" +"La operación de división se puede personalizar usando los métodos " +"especiales :meth:`~object.__truediv__` y :meth:`~object.__rtruediv__`. La " +"operación de división entera se puede personalizar usando los métodos " +"especiales :meth:`~object.__floordiv__` y :meth:`~object.__rfloordiv__`." #: ../Doc/reference/expressions.rst:1365 -#, fuzzy msgid "" "The ``%`` (modulo) operator yields the remainder from the division of the " "first argument by the second. The numeric arguments are first converted to " @@ -2119,12 +2175,12 @@ msgid "" "zero); the absolute value of the result is strictly smaller than the " "absolute value of the second operand [#]_." msgstr "" -"El operador ``%`` (módulo) yield el resto de la división del primer " +"El operador ``%`` (módulo) genera el resto de la división del primer " "argumento entre el segundo. Los argumentos numéricos son primero convertidos " -"a un tipo común. Un argumento a la derecha cero genera la excepción :exc:" +"a un tipo común. Un argumento de cero a la derecha genera la excepción :exc:" "`ZeroDivisionError`. Los argumentos pueden ser números de punto flotante, " "ej., ``3.14%0.7`` es igual a ``0.34`` (ya que ``3.14`` es igual a ``4*0.7 + " -"0.34``.) El operador módulo siempre yield un resultado con el mismo signo " +"0.34``.) El operador módulo siempre genera un resultado con el mismo signo " "que su segundo operando (o cero); el valor absoluto del resultado es " "estrictamente más pequeño que el valor absoluto del segundo operando [#]_." @@ -2155,16 +2211,14 @@ msgstr "" "Biblioteca de Python, sección :ref:`old-string-formatting`." #: ../Doc/reference/expressions.rst:1384 -#, fuzzy msgid "" "The *modulo* operation can be customized using the special :meth:`~object." "__mod__` and :meth:`~object.__rmod__` methods." msgstr "" -"Esta operación se puede personalizar utilizando los métodos especiales :meth:" -"`__mul__` y :meth:`__rmul__`." +"La operación *_modulo_* se puede personalizar utilizando los métodos " +"especiales :meth:`~object.__mod__` y :meth:`~object.__rmod__`." #: ../Doc/reference/expressions.rst:1387 -#, fuzzy msgid "" "The floor division operator, the modulo operator, and the :func:`divmod` " "function are not defined for complex numbers. Instead, convert to a " @@ -2173,7 +2227,7 @@ msgstr "" "El operador de división entera a la baja, el operador de módulo y la " "función :func:`divmod` no están definidas para números complejos. En su " "lugar, convierta a un número de punto flotante usando la función :func:`abs` " -"si es apropiado." +"si es necesario." #: ../Doc/reference/expressions.rst:1396 msgid "" @@ -2182,36 +2236,34 @@ msgid "" "type. In the former case, the numbers are converted to a common type and " "then added together. In the latter case, the sequences are concatenated." msgstr "" -"El operador ``+`` (adición) yield la suma de sus argumentos. Los argumentos " +"El operador ``+`` (adición) genera la suma de sus argumentos. Los argumentos " "deben ser ambos números o ambos secuencias del mismo tipo. En el primer " "caso, los números son convertidos a un tipo común y luego sumados. En el " "segundo caso, las secuencias son concatenadas." #: ../Doc/reference/expressions.rst:1401 -#, fuzzy msgid "" "This operation can be customized using the special :meth:`~object.__add__` " "and :meth:`~object.__radd__` methods." msgstr "" "Esta operación se puede personalizar utilizando los métodos especiales :meth:" -"`__add__` y :meth:`__radd__`." +"`~object.__add__` y :meth:`~object.__radd__`." #: ../Doc/reference/expressions.rst:1409 msgid "" "The ``-`` (subtraction) operator yields the difference of its arguments. " "The numeric arguments are first converted to a common type." msgstr "" -"El operador ``-`` (resta) yield la diferencia de sus argumentos. Los " +"El operador ``-`` (sustracción) genera la diferencia de sus argumentos. Los " "argumentos numéricos son primero convertidos a un tipo común." #: ../Doc/reference/expressions.rst:1412 -#, fuzzy msgid "" "This operation can be customized using the special :meth:`~object.__sub__` " "and :meth:`~object.__rsub__` methods." msgstr "" "Esta operación se puede personalizar utilizando los métodos especiales :meth:" -"`__mul__` y :meth:`__rmul__`." +"`~object.__sub__` y :meth:`~object.__rsub__`." #: ../Doc/reference/expressions.rst:1419 msgid "Shifting operations" @@ -2240,6 +2292,11 @@ msgid "" "operation can be customized using the special :meth:`~object.__rshift__` " "and :meth:`~object.__rrshift__` methods." msgstr "" +"Las operaciones de desplazamiento a la izquierda se pueden personalizar " +"usando los métodos especiales :meth:`~object.__lshift__` y :meth:`~object." +"__rlshift__`. Las operaciones de desplazamiento a la derecha se pueden " +"personalizar usando los métodos especiales :meth:`~object.__rshift__` y :" +"meth:`~object.__rrshift__`." #: ../Doc/reference/expressions.rst:1441 msgid "" @@ -2261,38 +2318,37 @@ msgstr "" "prioridad:" #: ../Doc/reference/expressions.rst:1463 -#, fuzzy msgid "" "The ``&`` operator yields the bitwise AND of its arguments, which must be " "integers or one of them must be a custom object overriding :meth:`~object." "__and__` or :meth:`~object.__rand__` special methods." msgstr "" -"El operador ``&`` yield el AND bit a bit de sus argumentos, que deben ser " -"números enteros o uno de ellos debe ser un objeto personalizado que anule " -"los métodos especiales :meth:`__and__` o :meth:`__rand__`." +"El operador ``&`` genera el AND bit a bit de sus argumentos, que deben ser " +"números enteros o uno de ellos debe ser un objeto personalizado que " +"sobreescriba los métodos especiales :meth:`~object.__and__` o :meth:`~object." +"__rand__`." #: ../Doc/reference/expressions.rst:1472 -#, fuzzy msgid "" "The ``^`` operator yields the bitwise XOR (exclusive OR) of its arguments, " "which must be integers or one of them must be a custom object overriding :" "meth:`~object.__xor__` or :meth:`~object.__rxor__` special methods." msgstr "" -"El operador ``^`` yield el XOR bit a bit (OR exclusivo) de sus argumentos, " +"El operador ``^`` genera el XOR bit a bit (OR exclusivo) de sus argumentos, " "que deben ser números enteros o uno de ellos debe ser un objeto " -"personalizado que anule los métodos especiales :meth:`__xor__` o :meth:" -"`__rxor__`." +"personalizado que sobreescriba los métodos especiales :meth:`~object." +"__xor__` o :meth:`~object.__rxor__`." #: ../Doc/reference/expressions.rst:1481 -#, fuzzy msgid "" "The ``|`` operator yields the bitwise (inclusive) OR of its arguments, which " "must be integers or one of them must be a custom object overriding :meth:" "`~object.__or__` or :meth:`~object.__ror__` special methods." msgstr "" -"El operador ``|`` yield el OR bit a bit (inclusive) de sus argumentos, que " +"El operador ``|`` genera el OR bit a bit (inclusive) de sus argumentos, que " "deben ser números enteros o uno de ellos debe ser un objeto personalizado " -"que anule los métodos especiales :meth:`__or__` o :meth:`__ror__`." +"que sobreescriba los métodos especiales :meth:`~object.__or__` o :meth:" +"`~object.__ror__`." #: ../Doc/reference/expressions.rst:1489 msgid "Comparisons" @@ -2316,10 +2372,10 @@ msgid "" "comparison methods` may return non-boolean values. In this case Python will " "call :func:`bool` on such value in boolean contexts." msgstr "" -"Las comparaciones yield valores booleanos: ``True`` o ``False``. " -"Personalizado: dfn: los `métodos de comparación enriquecidos` pueden " -"retornar valores no booleanos. En este caso, Python llamará a :func:`bool` " -"en dicho valor en contextos booleanos." +"Las comparaciones generan valores booleanos: ``True`` o ``False``.: dfn: los " +"`Métodos de comparación enriquecidos` personalizados pueden retornar valores " +"no booleanos. En este caso, Python llamará a :func:`bool` en dicho valor en " +"contextos booleanos." #: ../Doc/reference/expressions.rst:1517 msgid "" @@ -2389,7 +2445,6 @@ msgstr "" "de comparación." #: ../Doc/reference/expressions.rst:1547 -#, fuzzy msgid "" "Because all types are (direct or indirect) subtypes of :class:`object`, they " "inherit the default comparison behavior from :class:`object`. Types can " @@ -2399,8 +2454,8 @@ msgstr "" "Debido a que todos los tipos son subtipos (directos o indirectos) de :class:" "`object`, ellos heredan el comportamiento de comparación predeterminado " "desde :class:`object`. Los tipos pueden personalizar su comportamiento de " -"comparación implementando :dfn:`rich comparison methods` como :meth:" -"`__lt__`, descritos en :ref:`customization`." +"comparación implementando :dfn:`rich comparison methods` como :meth:`~object." +"__lt__`, descritos en :ref:`customization`." #: ../Doc/reference/expressions.rst:1553 msgid "" @@ -2485,15 +2540,14 @@ msgstr "" "Este comportamiento cumple con IEEE 754." #: ../Doc/reference/expressions.rst:1587 -#, fuzzy msgid "" "``None`` and :data:`NotImplemented` are singletons. :PEP:`8` advises that " "comparisons for singletons should always be done with ``is`` or ``is not``, " "never the equality operators." msgstr "" -"``None`` y ``NotImplemented`` son singletons. :PEP:`8` avisa que las " -"comparaciones para singletons deben ser realizadas siempre con ``is`` o ``is " -"not``, nunca los operadores de igualdad." +"``None`` y :data:`NotImplemented` son singletons. :PEP:`8` recomienda que " +"las comparaciones para singletons deben ser realizadas siempre con ``is`` o " +"``is not``, nunca los operadores de igualdad." #: ../Doc/reference/expressions.rst:1591 msgid "" @@ -2781,18 +2835,16 @@ msgstr "" "\"abc\"`` retornará ``True``." #: ../Doc/reference/expressions.rst:1714 -#, fuzzy msgid "" "For user-defined classes which define the :meth:`~object.__contains__` " "method, ``x in y`` returns ``True`` if ``y.__contains__(x)`` returns a true " "value, and ``False`` otherwise." msgstr "" "Para clases definidas por el usuario las cuales definen el método :meth:" -"`__contains__`, ``x in y`` retorna ``True`` si ``y.__contains__(x)`` retorna " -"un valor verdadero y ``False`` si no." +"`~object.__contains__`, ``x in y`` retorna ``True`` si ``y.__contains__(x)`` " +"retorna un valor verdadero y ``False`` en caso contrario." #: ../Doc/reference/expressions.rst:1718 -#, fuzzy msgid "" "For user-defined classes which do not define :meth:`~object.__contains__` " "but do define :meth:`~object.__iter__`, ``x in y`` is ``True`` if some value " @@ -2800,15 +2852,14 @@ msgid "" "while iterating over ``y``. If an exception is raised during the iteration, " "it is as if :keyword:`in` raised that exception." msgstr "" -"Para clases definidas por el usuario las cuales no definen :meth:" -"`__contains__` pero definen :meth:`__iter__`, ``x in y`` es ``True`` si " -"algún valor ``z``, para el cual la expresión ``x is z or x == z`` es " -"verdadera, es producido iterando sobre ``y``. Si una excepción es generada " -"durante la iteración, es como si :keyword:`in` hubiera generado esa " +"Para clases definidas por el usuario las cuales no definen :meth:`~object." +"__contains__` pero sí definen :meth:`~object.__iter__`, ``x in y`` es " +"``True`` si algún valor ``z``, para el cual la expresión ``x is z or x == " +"z`` es verdadera, es producido iterando sobre ``y``. Si una excepción es " +"generada durante la iteración, es como si :keyword:`in` hubiera generado esa " "excepción." #: ../Doc/reference/expressions.rst:1724 -#, fuzzy msgid "" "Lastly, the old-style iteration protocol is tried: if a class defines :meth:" "`~object.__getitem__`, ``x in y`` is ``True`` if and only if there is a non-" @@ -2817,11 +2868,11 @@ msgid "" "exception is raised, it is as if :keyword:`in` raised that exception)." msgstr "" "Por último, se intenta el protocolo de iteración al estilo antiguo: si una " -"clase define :meth:`__getitem__`, ``x in y`` es ``True`` si y sólo si hay un " -"índice entero no negativo *i* tal que ``x is y[i] or x == y[i]`` y ningún " -"entero menor genera la excepción :exc:`IndexError`. (Si cualquier otra " -"excepción es generada, es como si :keyword:`in` hubiera generado esa " -"excepción)." +"clase define :meth:`~object.__getitem__`, ``x in y`` es ``True`` si y sólo " +"si hay un índice entero no negativo *i* tal que ``x is y[i] or x == y[i]`` y " +"ningún índice entero menor genera la excepción :exc:`IndexError`. (Si " +"cualquier otra excepción es generada, es como si :keyword:`in` hubiera " +"generado esa excepción)." #: ../Doc/reference/expressions.rst:1736 msgid "" @@ -2845,7 +2896,7 @@ msgstr "" "Los operadores :keyword:`is` y :keyword:`is not` comprueban la identidad de " "un objeto. ``x is y`` es verdadero si y sólo si *x* e *y* son el mismo " "objeto. La identidad de un Objeto se determina usando la función :meth:`id`. " -"``x is not y`` yield el valor de veracidad inverso. [#]_" +"``x is not y`` produce el valor de veracidad inverso. [#]_" #: ../Doc/reference/expressions.rst:1763 msgid "Boolean operations" @@ -2875,7 +2926,7 @@ msgid "" "The operator :keyword:`not` yields ``True`` if its argument is false, " "``False`` otherwise." msgstr "" -"El operador :keyword:`not` yield ``True`` si su argumento es falso, " +"El operador :keyword:`not` produce ``True`` si su argumento es falso, " "``False`` si no." #: ../Doc/reference/expressions.rst:1788 @@ -2908,7 +2959,7 @@ msgstr "" "el tipo que retornan a ``False`` y ``True``, sino retornan el último " "argumento evaluado. Esto es útil a veces, ej., si ``s`` es una cadena de " "caracteres que debe ser remplazada por un valor predeterminado si está " -"vacía, la expresión ``s or 'foo'`` yield el valor deseado. Debido a que :" +"vacía, la expresión ``s or 'foo'`` produce el valor deseado. Debido a que :" "keyword:`not` tiene que crear un nuevo valor, retorna un valor booleano " "indiferentemente del tipo de su argumento (por ejemplo, ``not 'foo'`` " "produce ``False`` en lugar de ``''``.)" @@ -2926,7 +2977,7 @@ msgid "" msgstr "" "Una expresión de asignación (a veces también llamada \"expresión con " "nombre\" o \"morsa\") asigna un :token:`~python-grammar:expression` a un :" -"token:`~python-grammar:identifier`, al mismo tiempo que devuelve el valor de " +"token:`~python-grammar:identifier`, al mismo tiempo que retorna el valor de " "el :token:`~python-grammar:expresión`." #: ../Doc/reference/expressions.rst:1823 @@ -2939,6 +2990,8 @@ msgid "" "if matching := pattern.search(data):\n" " do_something(matching)" msgstr "" +"if matching := pattern.search(data):\n" +" do_something(matching)" #: ../Doc/reference/expressions.rst:1830 msgid "Or, when processing a file stream in chunks:" @@ -2949,9 +3002,10 @@ msgid "" "while chunk := file.read(9000):\n" " process(chunk)" msgstr "" +"while chunk := file.read(9000):\n" +" process(chunk)" #: ../Doc/reference/expressions.rst:1837 -#, fuzzy msgid "" "Assignment expressions must be surrounded by parentheses when used as " "expression statements and when used as sub-expressions in slicing, " @@ -2961,10 +3015,11 @@ msgid "" "and ``while`` statements." msgstr "" "Las expresiones de asignación deben estar entre paréntesis cuando se usan " -"como subexpresiones en expresiones de división, condicional, lambda, " -"argumento de palabra clave y comprensión si y en declaraciones ``assert`` y " -"``with``. En todos los demás lugares donde se pueden usar, no se requieren " -"paréntesis, incluidas las declaraciones ``if`` y ``while``." +"como expresiones de sentencia y cuando se usan como subexpresiones en " +"expresiones de segmentación, condicional, lambda, argumento de palabra clave " +"y expresiones de comprensión-condicional y en sentencias ``assert``, " +"``with`` y ``assignment``. En todos los demás lugares donde se pueden usar, " +"no se requieren paréntesis, incluidas las sentencias ``if`` y ``while``." #: ../Doc/reference/expressions.rst:1845 msgid "See :pep:`572` for more details about assignment expressions." @@ -3009,14 +3064,16 @@ msgid "" msgstr "" "Las expresiones lambda (a veces denominadas formas lambda) son usadas para " "crear funciones anónimas. La expresión ``lambda parameters: expression`` " -"yield un objeto de función. El objeto sin nombre se comporta como un objeto " -"función con:" +"produce un objeto de función. El objeto sin nombre se comporta como un " +"objeto función con:" #: ../Doc/reference/expressions.rst:1893 msgid "" "def (parameters):\n" " return expression" msgstr "" +"def (parameters):\n" +" return expression" #: ../Doc/reference/expressions.rst:1898 msgid "" @@ -3039,7 +3096,7 @@ msgid "" "expressions in the list. The expressions are evaluated from left to right." msgstr "" "Excepto cuando son parte de un despliegue de lista o conjunto, una lista de " -"expresión conteniendo al menos una coma yield una tupla. El largo de la " +"expresión conteniendo al menos una coma produce una tupla. El largo de la " "tupla es el número de expresiones en la lista. Las expresiones son evaluadas " "de izquierda a derecha." @@ -3063,14 +3120,12 @@ msgstr "" "por :pep:`488`." #: ../Doc/reference/expressions.rst:1939 -#, fuzzy msgid "Any item in an expression list may be starred. See :pep:`646`." msgstr "" -"Desempaquetado iterable en listas de expresiones, originalmente propuesto " -"por :pep:`488`." +"Cualquier elemento en una lista de expresiones puede ser destacado. Vea :pep:" +"`646`." #: ../Doc/reference/expressions.rst:1944 -#, fuzzy msgid "" "A trailing comma is required only to create a one-item tuple, such as ``1," "``; it is optional in all other cases. A single expression without a " @@ -3078,11 +3133,10 @@ msgid "" "expression. (To create an empty tuple, use an empty pair of parentheses: " "``()``.)" msgstr "" -"La coma final sólo es requerida para crear una tupla única (también " -"denominada un *singleton*); es opcional en todos los otros casos. Una única " -"expresión sin una coma final no crea una tupla, si no yield el valor de esa " -"expresión. (Para crear una tupla vacía, usa un par de paréntesis vacío: " -"``()``.)" +"La coma final sólo es requerida para crear una tupla de un único elemento, " +"como ``1,``; es opcional en otros casos. Una única expresión sin una coma " +"final no crea una tupla, si no genera el valor de esa expresión. (Para crear " +"una tupla vacía, usa un par de paréntesis vacío: ``()``.)" #: ../Doc/reference/expressions.rst:1955 msgid "Evaluation order" @@ -3115,6 +3169,12 @@ msgid "" "expr1(expr2, expr3, *expr4, **expr5)\n" "expr3, expr4 = expr1, expr2" msgstr "" +"expr1, expr2, expr3, expr4\n" +"(expr1, expr2, expr3, expr4)\n" +"{expr1: expr2, expr3: expr4}\n" +"expr1 + expr2 * (expr3 - expr4)\n" +"expr1(expr2, expr3, *expr4, **expr5)\n" +"expr3, expr4 = expr1, expr2" #: ../Doc/reference/expressions.rst:1976 msgid "Operator precedence" @@ -3512,7 +3572,7 @@ msgstr "object" #: ../Doc/reference/expressions.rst:162 msgid "parenthesized form" -msgstr "Formas entre paréntesis" +msgstr "formas entre paréntesis" #: ../Doc/reference/expressions.rst:162 ../Doc/reference/expressions.rst:393 #: ../Doc/reference/expressions.rst:1001 @@ -3684,7 +3744,7 @@ msgstr "corutina" #: ../Doc/reference/expressions.rst:516 msgid "yield from expression" -msgstr "yield de expresión" +msgstr "yield from expression" #: ../Doc/reference/expressions.rst:569 msgid "StopIteration" @@ -3980,7 +4040,7 @@ msgstr "operador binario" #: ../Doc/reference/expressions.rst:1404 msgid "subtraction" -msgstr "Suscripciones" +msgstr "sustracción" #: ../Doc/reference/expressions.rst:1421 msgid "shifting" @@ -4132,9 +4192,8 @@ msgid "named expression" msgstr "expresión con nombre" #: ../Doc/reference/expressions.rst:1805 -#, fuzzy msgid "assignment" -msgstr "argumento" +msgstr "asignación" #: ../Doc/reference/expressions.rst:1854 msgid "conditional"