@@ -11,7 +11,7 @@ msgstr ""
1111"Project-Id-Version : Python 3.8\n "
1212"Report-Msgid-Bugs-To : \n "
1313"POT-Creation-Date : 2020-05-05 12:54+0200\n "
14- "PO-Revision-Date : 2021-02-01 19:27 -0300\n "
14+ "PO-Revision-Date : 2021-02-02 15:00 -0300\n "
1515"Language-Team : python-doc-es\n "
1616"MIME-Version : 1.0\n "
1717"Content-Type : text/plain; charset=UTF-8\n "
@@ -190,7 +190,7 @@ msgid ""
190190"execution for a second."
191191msgstr ""
192192"Algunos lenguajes son muy estrictos sobre la pureza y ni siquiera tienen "
193- "declaraciones de asignación como ``a=3`` o ``c = a + b``, pero es difícil "
193+ "sentencias de asignación como ``a=3`` o ``c = a + b``, pero es difícil "
194194"evitar todos los efectos secundarios. Imprimir en la pantalla o escribir en "
195195"un archivo en disco son efectos secundarios, por ejemplo. Por ejemplo, en "
196196"Python una llamada a la función :func:`print` o :func:`time.sleep` retorna "
@@ -241,7 +241,7 @@ msgid ""
241241"advantages to the functional style:"
242242msgstr ""
243243"El diseño funcional puede parecer una restricción extraña bajo la cuál "
244- "trabajar. Por qué evitaría objetos y efectos secundarios? Hay ventajas "
244+ "trabajar. ¿ Por qué evitaría objetos y efectos secundarios? Hay ventajas "
245245"teóricas y prácticas para el estilo funcional:"
246246
247247#: ../Doc/howto/functional.rst:93
@@ -258,7 +258,7 @@ msgstr "Componibilidad."
258258
259259#: ../Doc/howto/functional.rst:96
260260msgid "Ease of debugging and testing."
261- msgstr "Fácil de depurar y probar."
261+ msgstr "Facilidad de depurar y probar."
262262
263263#: ../Doc/howto/functional.rst:100
264264msgid "Formal provability"
@@ -344,7 +344,7 @@ msgstr ""
344344
345345#: ../Doc/howto/functional.rst:136
346346msgid "Modularity"
347- msgstr ""
347+ msgstr "Modularidad "
348348
349349#: ../Doc/howto/functional.rst:138
350350msgid ""
@@ -354,14 +354,20 @@ msgid ""
354354"thing than a large function that performs a complicated transformation. "
355355"Small functions are also easier to read and to check for errors."
356356msgstr ""
357+ "Un beneficio más práctico de la programación funcional es que fuerza a "
358+ "romper su problema en pequeñas piezas. Como resultado los programas son más "
359+ "modulares. Es más fácil especificar y escribir una función pequeña que hace "
360+ "una cosa que una función grande que realiza una transformación complicada. "
361+ "Las funciones pequeñas también son más fáciles de leer y comprobar si hay "
362+ "errores."
357363
358364#: ../Doc/howto/functional.rst:146
359365msgid "Ease of debugging and testing"
360- msgstr ""
366+ msgstr "Facilidad de depurar y probar "
361367
362368#: ../Doc/howto/functional.rst:148
363369msgid "Testing and debugging a functional-style program is easier."
364- msgstr ""
370+ msgstr "Probar y depurar un programa en estilo funcional es más fácil. "
365371
366372#: ../Doc/howto/functional.rst:150
367373msgid ""
@@ -371,6 +377,11 @@ msgid ""
371377"intermediate inputs and outputs to quickly isolate the function that's "
372378"responsible for a bug."
373379msgstr ""
380+ "La depuración se simplifica porque las funciones generalmente son pequeñas y "
381+ "claramente especificadas. Cuando un programa no funciona, cada función es un "
382+ "punto de interfaz donde puede comprobar si los datos son correctos. Puede "
383+ "ver las entradas y salidas intermedias para aislar rápidamente la función "
384+ "que es responsable de un error."
374385
375386#: ../Doc/howto/functional.rst:155
376387msgid ""
@@ -379,10 +390,15 @@ msgid ""
379390"before running a test; instead you only have to synthesize the right input "
380391"and then check that the output matches expectations."
381392msgstr ""
393+ "Las pruebas son más fáciles porque cada función es un sujeto potencial para "
394+ "una prueba unitaria. Las funciones no dependen de un estado del sistema que "
395+ "necesite ser replicado antes de correr una prueba; en lugar de eso solo "
396+ "tiene que sintetizar la entrada correcta y comprobar que la salida coincida "
397+ "con las expectativas."
382398
383399#: ../Doc/howto/functional.rst:162
384400msgid "Composability"
385- msgstr ""
401+ msgstr "Componibilidad "
386402
387403#: ../Doc/howto/functional.rst:164
388404msgid ""
@@ -394,23 +410,36 @@ msgid ""
394410"that takes a filename and returns its contents, can be applied to many "
395411"different situations."
396412msgstr ""
413+ "Mientras trabaja en un programa en estilo funcional, escribirá un número de "
414+ "funciones con diferentes entradas y salidas. Algunas de estas funciones "
415+ "inevitablemente estarán especializadas en una aplicación en particular, pero "
416+ "otras serán útiles en una amplia variedad de programas. Por ejemplo, una "
417+ "función que recibe la ruta de un directorio y retorna todos los archivos XML "
418+ "en el directorio, o una función que recibe el nombre de un archivo y retorna "
419+ "su contenido, se puede aplicar a muchas situaciones diferentes."
397420
398421#: ../Doc/howto/functional.rst:171
399422msgid ""
400423"Over time you'll form a personal library of utilities. Often you'll "
401424"assemble new programs by arranging existing functions in a new configuration "
402425"and writing a few functions specialized for the current task."
403426msgstr ""
427+ "Con el tiempo formará una librería personal de utilidades. A menudo "
428+ "ensamblará nuevos programas organizando funciones existentes en una nueva "
429+ "configuración y escribiendo unas pocas funciones especializadas para la "
430+ "tarea actual."
404431
405432#: ../Doc/howto/functional.rst:179
406433msgid "Iterators"
407- msgstr ""
434+ msgstr "Iteradores "
408435
409436#: ../Doc/howto/functional.rst:181
410437msgid ""
411438"I'll start by looking at a Python language feature that's an important "
412439"foundation for writing functional-style programs: iterators."
413440msgstr ""
441+ "Comenzaré viendo una característica del lenguaje Python que es una base "
442+ "importante para escribir programas en estilo funcional: iteradores."
414443
415444#: ../Doc/howto/functional.rst:184
416445msgid ""
@@ -422,6 +451,14 @@ msgid ""
422451"exception. Iterators don't have to be finite, though; it's perfectly "
423452"reasonable to write an iterator that produces an infinite stream of data."
424453msgstr ""
454+ "Un iterador es un objeto que representa un flujo de datos; este objeto "
455+ "retorna los datos de a un elemento a la vez. Un iterador de Python debe "
456+ "soportar un método llamado :meth:`~iterator.__next__` que no recibe "
457+ "argumentos y siempre retorna el siguiente elemento en el flujo. Si no hay "
458+ "más elementos en el flujo, :meth:`~iterator.__next__` debe lanzar la "
459+ "excepción :exc:`StopIteration`. Los iteradores no tienen que ser finitos; es "
460+ "perfectamente razonable escribir un iterador que produce un flujo de datos "
461+ "infinito."
425462
426463#: ../Doc/howto/functional.rst:192
427464msgid ""
@@ -432,10 +469,16 @@ msgid ""
432469"lists and dictionaries. An object is called :term:`iterable` if you can get "
433470"an iterator for it."
434471msgstr ""
472+ "La función integrada :func:`iter` recibe un objeto arbitrario e intenta "
473+ "retornar un iterador que retornará los contenidos o elementos del objeto, "
474+ "lanzando :exc:`TypeError` si el objeto no soporta iteración. Muchos tipos de "
475+ "datos integrados de Python soportan iteración, siendo los más comunes las "
476+ "listas y los diccionarios. Un objeto se llama :term:`iterable` si puede "
477+ "obtener un iterador para él."
435478
436479#: ../Doc/howto/functional.rst:199
437480msgid "You can experiment with the iteration interface manually:"
438- msgstr ""
481+ msgstr "Puede experimentar con la interfaz de iteración manualmente: "
439482
440483#: ../Doc/howto/functional.rst:217
441484msgid ""
@@ -444,18 +487,26 @@ msgid ""
444487"Y``, Y must be an iterator or some object for which :func:`iter` can create "
445488"an iterator. These two statements are equivalent::"
446489msgstr ""
490+ "Python espera objetos iterables en muchos contextos diferentes, siendo el "
491+ "más importante la sentencia :keyword:`for`. En la sentencia ``for X in Y``, "
492+ "Y debe ser un iterador o algún objeto para el que :func:`iter` puede crear "
493+ "un iterador. Estas dos sentencias son equivalentes::"
447494
448495#: ../Doc/howto/functional.rst:229
449496msgid ""
450497"Iterators can be materialized as lists or tuples by using the :func:`list` "
451498"or :func:`tuple` constructor functions:"
452499msgstr ""
500+ "Los iteradores se pueden materializar como listas o tuplas utilizando las "
501+ "funciones constructoras :func:`list` o :func:`tuple`:"
453502
454503#: ../Doc/howto/functional.rst:238
455504msgid ""
456505"Sequence unpacking also supports iterators: if you know an iterator will "
457506"return N elements, you can unpack them into an N-tuple:"
458507msgstr ""
508+ "El desempaquetado de secuencias también soporta iteradores: si sabe que un "
509+ "iterador retornará N elementos, puede desempaquetarlos en una N-tupla:"
459510
460511#: ../Doc/howto/functional.rst:247
461512msgid ""
@@ -467,6 +518,14 @@ msgid ""
467518"func:`min` will never return, and if the element X never appears in the "
468519"stream, the ``\" in\" `` and ``\" not in\" `` operators won't return either."
469520msgstr ""
521+ "Las funciones integradas como :func:`max` y :func:`min` pueden recibir un "
522+ "solo iterador como argumento y retornarán el elemento más grande o más "
523+ "pequeño. Los operadores ``\" in\" `` y ``\" not in\" `` también soportan "
524+ "iteradores: ``X in iterator`` es verdadero si X se encuentra en el flujo que "
525+ "retornó el iterador. Se encontrará con problemas obvios si el iterador es "
526+ "infinito; :func:`max`, :func:`min` nunca retornarán, y si el elemento X "
527+ "nunca aparece en el flujo, los operadores ``\" in\" `` and ``\" not in\" `` "
528+ "tampoco retornarán."
470529
471530#: ../Doc/howto/functional.rst:255
472531msgid ""
@@ -478,30 +537,46 @@ msgid ""
478537"need to do something different with the same stream, you'll have to create a "
479538"new iterator."
480539msgstr ""
540+ "Note que solo puede ir hacia adelante en un iterador; no hay forma de "
541+ "obtener el elemento anterior, reiniciar el iterador o hacer una copia de él. "
542+ "Los objetos iteradores opcionalmente pueden proveer estas capacidades "
543+ "adicionales, pero el protocolo del iterador solo especifica el método :meth:"
544+ "`~iterator.__next__`. Por lo tanto las funciones pueden consumir toda la "
545+ "salida del iterador, y si necesita hacer algo diferente con el mismo flujo, "
546+ "tendrá que crear un nuevo iterador."
481547
482548#: ../Doc/howto/functional.rst:265
483549msgid "Data Types That Support Iterators"
484- msgstr ""
550+ msgstr "Tipos de datos que soportan iteradores "
485551
486552#: ../Doc/howto/functional.rst:267
487553msgid ""
488554"We've already seen how lists and tuples support iterators. In fact, any "
489555"Python sequence type, such as strings, will automatically support creation "
490556"of an iterator."
491557msgstr ""
558+ "Ya hemos visto cómo las listas y tuplas soportan iteradores. De hecho, "
559+ "cualquier tipo de secuencia de Python, como cadenas de caracteres, "
560+ "automáticamente soportará la creación de un iterador."
492561
493562#: ../Doc/howto/functional.rst:271
494563msgid ""
495564"Calling :func:`iter` on a dictionary returns an iterator that will loop over "
496565"the dictionary's keys::"
497566msgstr ""
567+ "Llamar a :func:`iter` en un diccionario retornará un iterador que recorrerá "
568+ "sobre las claves del diccionario::"
498569
499570#: ../Doc/howto/functional.rst:291
500571msgid ""
501572"Note that starting with Python 3.7, dictionary iteration order is guaranteed "
502573"to be the same as the insertion order. In earlier versions, the behaviour "
503574"was unspecified and could vary between implementations."
504575msgstr ""
576+ "Note que a partir de Python 3.7, se garantiza que el orden de iteración del "
577+ "diccionario es el mismo que el orden de inserción. En versiones anteriores, "
578+ "el comportamiento no estaba especificado y podía variar entre "
579+ "implementaciones."
505580
506581#: ../Doc/howto/functional.rst:295
507582msgid ""
@@ -510,25 +585,37 @@ msgid ""
510585"iterate over values or key/value pairs, you can explicitly call the :meth:"
511586"`~dict.values` or :meth:`~dict.items` methods to get an appropriate iterator."
512587msgstr ""
588+ "Aplicar :func:`iter` a un diccionario siempre recorre sobre las claves, pero "
589+ "los diccionarios tienen métodos que retornan otros iteradores. Si quiere "
590+ "iterar sobre valores o pares clave/valor, puede explícitamente llamar a los "
591+ "métodos :meth:`~dict.values` o :meth:`~dict.items` para obtener un iterador "
592+ "apropiado."
513593
514594#: ../Doc/howto/functional.rst:301
515595msgid ""
516596"The :func:`dict` constructor can accept an iterator that returns a finite "
517597"stream of ``(key, value)`` tuples:"
518598msgstr ""
599+ "El constructor :func:`dict` puede aceptar un iterador que retorna un flujo "
600+ "finito de tuplas ``(key, value)``\\ :"
519601
520602#: ../Doc/howto/functional.rst:308
521603msgid ""
522604"Files also support iteration by calling the :meth:`~io.TextIOBase.readline` "
523605"method until there are no more lines in the file. This means you can read "
524606"each line of a file like this::"
525607msgstr ""
608+ "Los archivos también soportan iteración llamando al método :meth:`~io."
609+ "TextIOBase.readline` hasta que no haya más líneas en el archivo. Esto "
610+ "significa que puede leer cada línea de un archivo de esta forma::"
526611
527612#: ../Doc/howto/functional.rst:316
528613msgid ""
529614"Sets can take their contents from an iterable and let you iterate over the "
530615"set's elements::"
531616msgstr ""
617+ "Los conjuntos pueden recibir sus contenidos de un iterable y le permiten "
618+ "iterar sobre los elementos del conjunto::"
532619
533620#: ../Doc/howto/functional.rst:326
534621msgid "Generator expressions and list comprehensions"
0 commit comments