diff --git a/dict b/dict index 7bbcac0ec3..27a1bf0d12 100644 --- a/dict +++ b/dict @@ -123,6 +123,7 @@ Nd None Neumann NumPy +NotImplemented Numerical Octales Olsen @@ -744,6 +745,31 @@ zip zipimporter zlib ésimo +caching +proxies +slots +functions +ítems +memorizador +hashable +wrapped +user +function +lt +freezes +itables +decórela +cls +term +decorator +attribute +faltantes +see +issue +call +option +octales +permutación ı ſ option diff --git a/library/functools.po b/library/functools.po index 31dab361a6..8b0f6d340b 100644 --- a/library/functools.po +++ b/library/functools.po @@ -6,29 +6,32 @@ # Check https://github.com/PyCampES/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" 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: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-06-09 11:12-0500\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.3\n" #: ../Doc/library/functools.rst:2 msgid "" ":mod:`functools` --- Higher-order functions and operations on callable " "objects" msgstr "" +":mod:`functools` --- Funciones de orden superior y operaciones sobre objetos " +"invocables" #: ../Doc/library/functools.rst:13 msgid "**Source code:** :source:`Lib/functools.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/functools.py`" #: ../Doc/library/functools.rst:17 msgid "" @@ -36,10 +39,14 @@ msgid "" "act on or return other functions. In general, any callable object can be " "treated as a function for the purposes of this module." msgstr "" +"El módulo :mod:`functools` es para funciones de orden superior: funciones " +"que actúan o devuelven otras funciones. En general, cualquier objeto " +"invocable puede ser tratado como una función para los propósitos de este " +"módulo." #: ../Doc/library/functools.rst:21 msgid "The :mod:`functools` module defines the following functions:" -msgstr "" +msgstr "El módulo :mod:`functools` define las siguientes funciones:" #: ../Doc/library/functools.rst:25 msgid "" @@ -48,11 +55,16 @@ msgid "" "to :func:`property`, with the addition of caching. Useful for expensive " "computed properties of instances that are otherwise effectively immutable." msgstr "" +"Transforma un método de una clase en una propiedad cuyo valor se computa una " +"vez y luego se almacena como un atributo normal durante la vida de la " +"instancia. Similar a :func:`property`, con la adición de caching. Útil para " +"propiedades calculadas costosas de instancias que de otra manera son " +"efectivamente inmutables." #: ../Doc/library/functools.rst:30 ../Doc/library/functools.rst:70 #: ../Doc/library/functools.rst:275 msgid "Example::" -msgstr "" +msgstr "Ejemplo::" #: ../Doc/library/functools.rst:48 msgid "" @@ -63,6 +75,13 @@ msgid "" "without including ``__dict__`` as one of the defined slots (as such classes " "don't provide a ``__dict__`` attribute at all)." msgstr "" +"Este decorador requiere que el atributo ``__dict__`` en cada instancia sea " +"un mapeo mutable. Esto significa que no funcionará con algunos tipos, como " +"las metaclases (ya que los atributos ``__dict__`` en las instancias de tipo " +"son proxies sólo de lectura para el espacio de nombres de la clase), y los " +"que especifican ``__slots__`` sin incluir ``__dict__`` como uno de los slots " +"definidos (ya que tales clases no proporcionan un atributo ``__dict__`` en " +"absoluto)." #: ../Doc/library/functools.rst:58 msgid "" @@ -73,6 +92,13 @@ msgid "" "for programs being converted from Python 2 which supported the use of " "comparison functions." msgstr "" +"Transformar una función de comparación de estilo antiguo en una :term:`key " +"function`. Se utiliza con herramientas que aceptan funciones clave (como :" +"func:`sorted`, :func:`min`, :func:`max`, :func:`heapq.nlargest`, :func:" +"`heapq.nsmallest`, :func:`itertools.groupby`). Esta función se utiliza " +"principalmente como una herramienta de transición para los programas que se " +"están convirtiendo a partir de Python 2, que soportaba el uso de funciones " +"de comparación." #: ../Doc/library/functools.rst:65 msgid "" @@ -81,11 +107,18 @@ msgid "" "positive number for greater-than. A key function is a callable that accepts " "one argument and returns another value to be used as the sort key." msgstr "" +"Una función de comparación es cualquier invocable que acepta dos argumentos, " +"los compara y devuelve un número negativo para diferencia, cero para " +"igualdad o un número positivo para más. Una función clave es un invocable " +"que acepta un argumento y devuelve otro valor para ser usado como clave de " +"ordenación." #: ../Doc/library/functools.rst:74 msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." msgstr "" +"Para ejemplos de clasificación y un breve tutorial de clasificación, ver :" +"ref:`sortinghowto`." #: ../Doc/library/functools.rst:82 msgid "" @@ -93,12 +126,19 @@ msgid "" "*maxsize* most recent calls. It can save time when an expensive or I/O " "bound function is periodically called with the same arguments." msgstr "" +"Decorador para envolver una función con un memorizador invocable que guarda " +"hasta el *maxsize* de las llamadas más recientes. Puede salvar el tiempo " +"cuando una función costosa o de E/S es llamada periódicamente con los mismos " +"argumentos." #: ../Doc/library/functools.rst:86 msgid "" "Since a dictionary is used to cache results, the positional and keyword " "arguments to the function must be hashable." msgstr "" +"Dado que se utiliza un diccionario para guardar los resultados, los " +"argumentos posicionales y de las palabras clave de la función deben ser " +"hashable." #: ../Doc/library/functools.rst:89 msgid "" @@ -106,6 +146,10 @@ msgid "" "separate cache entries. For example, `f(a=1, b=2)` and `f(b=2, a=1)` differ " "in their keyword argument order and may have two separate cache entries." msgstr "" +"Los patrones de argumento distintos pueden considerarse como llamadas " +"distintas con entradas de caché separadas. Por ejemplo, `f(a=1, b=2)` y " +"`f(b=2, a=1)` difieren en el orden de los argumentos de las palabras clave y " +"pueden tener dos entradas de caché separadas." #: ../Doc/library/functools.rst:94 msgid "" @@ -113,12 +157,17 @@ msgid "" "*lru_cache* decorator to be applied directly to a user function, leaving the " "*maxsize* at its default value of 128::" msgstr "" +"Si se especifica *user_function*, debe ser una llamada. Esto permite que el " +"decorador *lru_cache* se aplique directamente a una función de usuario, " +"dejando el *maxsize* en su valor por defecto de 128::" #: ../Doc/library/functools.rst:103 msgid "" "If *maxsize* is set to ``None``, the LRU feature is disabled and the cache " "can grow without bound." msgstr "" +"Si *maxsize* está configurado como ``None``, la función LRU está desactivada " +"y la caché puede crecer sin límites." #: ../Doc/library/functools.rst:106 msgid "" @@ -126,6 +175,10 @@ msgid "" "cached separately. For example, ``f(3)`` and ``f(3.0)`` will be treated as " "distinct calls with distinct results." msgstr "" +"Si *typed* se establece como verdadero, los argumentos de las funciones de " +"diferentes tipos se almacenarán en la memoria caché por separado. Por " +"ejemplo, ``f(3)`` y ``f(3.0)`` se tratarán como llamadas distintas con " +"resultados distintos." #: ../Doc/library/functools.rst:110 msgid "" @@ -135,12 +188,19 @@ msgid "" "*maxsize* and *currsize*. In a multi-threaded environment, the hits and " "misses are approximate." msgstr "" +"Para ayudar a medir la efectividad del cache y afinar el parámetro " +"*maxsize*, la función envolvente está instrumentada con una función :func:" +"`cache_info` que devuelve un :term:`named tuple` mostrando *hits*, *misses*, " +"*maxsize* y *currsize*. En un entorno multi-hilo, los aciertos y los fallos " +"son aproximados." #: ../Doc/library/functools.rst:116 msgid "" "The decorator also provides a :func:`cache_clear` function for clearing or " "invalidating the cache." msgstr "" +"El decorador también proporciona una función :func:`cache_clear` para " +"limpiar o invalidar el caché." #: ../Doc/library/functools.rst:119 msgid "" @@ -148,6 +208,9 @@ msgid "" "`__wrapped__` attribute. This is useful for introspection, for bypassing " "the cache, or for rewrapping the function with a different cache." msgstr "" +"La función subyacente original es accesible a través del atributo :attr:" +"`__wrapped__`. Esto es útil para la introspección, para evitar el caché, o " +"para volver a envolver la función con un caché diferente." #: ../Doc/library/functools.rst:123 msgid "" @@ -158,6 +221,13 @@ msgid "" "the cache does not grow without bound on long-running processes such as web " "servers." msgstr "" +"Una caché `LRU (la menos usada recientemente) `_ funciona mejor cuando las llamadas más " +"recientes son los mejores pronosticadores de las próximas llamadas (por " +"ejemplo, los artículos más populares en un servidor de noticias tienden a " +"cambiar cada día). El límite de tamaño de la caché asegura que ésta no " +"crezca sin estar vinculada a procesos de larga duración como los servidores " +"web." #: ../Doc/library/functools.rst:130 msgid "" @@ -166,10 +236,15 @@ msgid "" "functions with side-effects, functions that need to create distinct mutable " "objects on each call, or impure functions such as time() or random()." msgstr "" +"En general, la caché de la LRU sólo debe utilizarse cuando se desea " +"reutilizar valores previamente calculados. Por consiguiente, no tiene " +"sentido almacenar en la caché funciones con efectos secundarios, funciones " +"que necesitan crear distintos objetos mutables en cada llamada, o funciones " +"impuras como time() o random()." #: ../Doc/library/functools.rst:135 msgid "Example of an LRU cache for static web content::" -msgstr "" +msgstr "Ejemplo de un caché de la LRU para contenido web estático::" #: ../Doc/library/functools.rst:154 msgid "" @@ -177,14 +252,18 @@ msgid "" "org/wiki/Fibonacci_number>`_ using a cache to implement a `dynamic " "programming `_ technique::" msgstr "" +"Ejemplo de computar eficientemente los \"números de Fibonacci\" `_ usando un cache para implementar una " +"\"programación dinámica\" `_ técnica::" #: ../Doc/library/functools.rst:174 msgid "Added the *typed* option." -msgstr "" +msgstr "Añadida la opción *typed* option." #: ../Doc/library/functools.rst:177 msgid "Added the *user_function* option." -msgstr "" +msgstr "Añadida la opción *user_function*." #: ../Doc/library/functools.rst:182 msgid "" @@ -192,6 +271,9 @@ msgid "" "class decorator supplies the rest. This simplifies the effort involved in " "specifying all of the possible rich comparison operations:" msgstr "" +"Dada una clase que define uno o más métodos de ordenamiento de comparación " +"ricos, este decorador de clase suministra el resto. Esto simplifica el " +"esfuerzo de especificar todas las posibles operaciones de comparación rica:" #: ../Doc/library/functools.rst:186 msgid "" @@ -199,10 +281,16 @@ msgid "" "or :meth:`__ge__`. In addition, the class should supply an :meth:`__eq__` " "method." msgstr "" +"La clase debe definir uno de :meth:`__lt__`, :meth:`__le__`, :meth:`__gt__`, " +"o :meth:`__ge__`. Además, la clase debe suministrar un método :meth:" +"`__eq__`. Dada una clase que define uno o más métodos de ordenamiento de " +"comparación ricos, este decorador de clase suministra el resto. Esto " +"simplifica el esfuerzo de especificar todas las posibles operaciones de " +"comparación rica." #: ../Doc/library/functools.rst:190 msgid "For example::" -msgstr "" +msgstr "Por ejemplo::" #: ../Doc/library/functools.rst:210 msgid "" @@ -212,12 +300,21 @@ msgid "" "indicates this is a bottleneck for a given application, implementing all six " "rich comparison methods instead is likely to provide an easy speed boost." msgstr "" +"Mientras que este decorador facilita la creación de tipos bien comportados y " +"totalmente ordenados, *does* a costa de una ejecución más lenta y de trazos " +"de pila (*stack traces*) más complejos para los métodos de comparación " +"derivados. Si la evaluación comparativa del rendimiento indica que se trata " +"de un cuello de botella para una aplicación determinada, la aplicación de " +"los seis métodos de comparación ricos en su lugar es probable que " +"proporcione un fácil aumento de la velocidad." #: ../Doc/library/functools.rst:219 msgid "" "Returning NotImplemented from the underlying comparison function for " "unrecognised types is now supported." msgstr "" +"Devolución de NotImplemented de la función de comparación subyacente para " +"los tipos no reconocidos está ahora soportado." #: ../Doc/library/functools.rst:225 msgid "" @@ -227,6 +324,12 @@ msgid "" "appended to *args*. If additional keyword arguments are supplied, they " "extend and override *keywords*. Roughly equivalent to::" msgstr "" +"Devuelve un nuevo :ref:`partial object` que cuando sea " +"llamado se comportará como *func* llamado con los argumentos posicionales " +"*args* y los argumentos de palabras clave *keywords*. Si se suministran más " +"argumentos a la llamada, se añaden a *args*. Si se suministran más " +"argumentos de palabras clave, se extienden y anulan las *keywords*. " +"Aproximadamente equivalente a::" #: ../Doc/library/functools.rst:241 msgid "" @@ -236,6 +339,12 @@ msgid "" "used to create a callable that behaves like the :func:`int` function where " "the *base* argument defaults to two:" msgstr "" +"El :func:`partial` se utiliza para la aplicación de funciones parciales que " +"\"congela\" (*freezes*) alguna porción de los argumentos y/o palabras clave " +"de una función dando como resultado un nuevo objeto con una firma " +"simplificada. Por ejemplo, :func:`partial` puede usarse para crear una " +"llamada que se comporte como la función :func:`int` donde el argumento " +"*base* tiene un valor por defecto de dos:" #: ../Doc/library/functools.rst:256 msgid "" @@ -243,12 +352,17 @@ msgid "" "`partial` except that it is designed to be used as a method definition " "rather than being directly callable." msgstr "" +"Devuelve un nuevo descriptor :class:`partialmethod` que se comporta como :" +"class:`partial` excepto que está diseñado para ser usado como una definición " +"de método en lugar de ser directamente invocable." #: ../Doc/library/functools.rst:260 msgid "" "*func* must be a :term:`descriptor` or a callable (objects which are both, " "like normal functions, are handled as descriptors)." msgstr "" +"*func* debe ser un :term:`descriptor` o un invocable (los objetos que son " +"ambos, como las funciones normales, se manejan como descriptores)." #: ../Doc/library/functools.rst:263 msgid "" @@ -258,6 +372,11 @@ msgid "" "the underlying descriptor, and an appropriate :ref:`partial object` returned as the result." msgstr "" +"Cuando *func* es un descriptor (como una función Python normal, :func:" +"`classmethod`, :func:`staticmethod`, :func:`abstractmethod` u otra instancia " +"de :class:`partialmethod`), las llamadas a ``__get__`` se delegan al " +"descriptor subyacente, y se devuelve un :ref:`partial object` apropiado como resultado." #: ../Doc/library/functools.rst:269 msgid "" @@ -267,6 +386,11 @@ msgid "" "argument, even before the *args* and *keywords* supplied to the :class:" "`partialmethod` constructor." msgstr "" +"Cuando *func* es una llamada no descriptiva, se crea dinámicamente un método " +"de unión apropiado. Esto se comporta como una función Python normal cuando " +"se usa como método: el argumento *self* se insertará como el primer " +"argumento posicional, incluso antes de las *args* y *keywords* suministradas " +"al constructor :class:`partialmethod`." #: ../Doc/library/functools.rst:300 msgid "" @@ -280,22 +404,35 @@ msgid "" "empty. If *initializer* is not given and *iterable* contains only one item, " "the first item is returned." msgstr "" +"Aplicar una *función* de dos argumentos acumulativos a los elementos de " +"*iterable*, de izquierda a derecha, para reducir los itables a un solo " +"valor. Por ejemplo, ``reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])`` calcula " +"``((((1+2)+3)+4)+5)``. El argumento de la izquierda, *x*, es el valor " +"acumulado y el de la derecha, *y*, es el valor de actualización del " +"*iterable*. Si el *initializer* opcional está presente, se coloca antes de " +"los ítems de la iterable en el cálculo, y sirve como predeterminado cuando " +"la *iterable* está vacía. Si no se da el *initializer* y el *iterable* " +"contiene sólo un elemento, se devuelve el primer elemento." #: ../Doc/library/functools.rst:309 msgid "Roughly equivalent to::" -msgstr "" +msgstr "Aproximadamente equivalente a::" #: ../Doc/library/functools.rst:321 msgid "" "See :func:`itertools.accumulate` for an iterator that yields all " "intermediate values." msgstr "" +"Ver :func:`itertools.accumulate` para un iterador que produce todos los " +"valores intermedios." #: ../Doc/library/functools.rst:326 msgid "" "Transform a function into a :term:`single-dispatch ` :term:" "`generic function`." msgstr "" +"Transformar una función en una :term:`single-dispatch ` :" +"term:`generic function`." #: ../Doc/library/functools.rst:329 msgid "" @@ -303,6 +440,9 @@ msgid "" "decorator. Note that the dispatch happens on the type of the first argument, " "create your function accordingly::" msgstr "" +"Para definir la función genérica, decórela con el decorador " +"``@singledispatch``. Ten en cuenta que el envío ocurre en el tipo del primer " +"argumento, crea tu función en consecuencia::" #: ../Doc/library/functools.rst:340 msgid "" @@ -311,18 +451,26 @@ msgid "" "annotated with types, the decorator will infer the type of the first " "argument automatically::" msgstr "" +"Para añadir implementaciones sobrecargadas a la función, use el atributo :" +"func:`register` de la función genérica. Es un decorador. Para las " +"funciones anotadas con tipos, el decorador deducirá automáticamente el tipo " +"del primer argumento::" #: ../Doc/library/functools.rst:358 msgid "" "For code which doesn't use type annotations, the appropriate type argument " "can be passed explicitly to the decorator itself::" msgstr "" +"Para el código que no utiliza anotaciones de tipo, el argumento de tipo " +"apropiado puede ser pasado explícitamente al propio decorador::" #: ../Doc/library/functools.rst:369 msgid "" "To enable registering lambdas and pre-existing functions, the :func:" "`register` attribute can be used in a functional form::" msgstr "" +"Para permitir el registro de lambdas y funciones preexistentes, el atributo :" +"func:`register` puede utilizarse de forma funcional::" #: ../Doc/library/functools.rst:377 msgid "" @@ -330,12 +478,17 @@ msgid "" "enables decorator stacking, pickling, as well as creating unit tests for " "each variant independently::" msgstr "" +"El atributo :func:`register` devuelve la función no decorada que permite al " +"decorador apilar, decapar, así como crear pruebas de unidad para cada " +"variante de forma independiente::" #: ../Doc/library/functools.rst:391 msgid "" "When called, the generic function dispatches on the type of the first " "argument::" msgstr "" +"Cuando se llama, la función genérica despacha sobre el tipo del primer " +"argumento::" #: ../Doc/library/functools.rst:411 msgid "" @@ -344,28 +497,39 @@ msgid "" "function decorated with ``@singledispatch`` is registered for the base " "``object`` type, which means it is used if no better implementation is found." msgstr "" +"Cuando no hay una implementación registrada para un tipo específico, su " +"orden de resolución de método se utiliza para encontrar una implementación " +"más genérica. La función original decorada con ``@singledispatch`` se " +"registra para el tipo de ``object`` base, lo que significa que se usa si no " +"se encuentra una mejor implementación." #: ../Doc/library/functools.rst:417 msgid "" "To check which implementation will the generic function choose for a given " "type, use the ``dispatch()`` attribute::" msgstr "" +"Para comprobar qué implementación elegirá la función genérica para un tipo " +"determinado, utilice el atributo ``dispatch()``::" #: ../Doc/library/functools.rst:425 msgid "" "To access all registered implementations, use the read-only ``registry`` " "attribute::" msgstr "" +"Para acceder a todas las implementaciones registradas, utilice el atributo " +"``registry`` de sólo lectura::" #: ../Doc/library/functools.rst:439 msgid "The :func:`register` attribute supports using type annotations." -msgstr "" +msgstr "El atributo :func:`register` soporta el uso de anotaciones de tipo." #: ../Doc/library/functools.rst:445 msgid "" "Transform a method into a :term:`single-dispatch ` :term:" "`generic function`." msgstr "" +"Transformar un método en un :term:`single-dispatch ` :term:" +"`generic function`." #: ../Doc/library/functools.rst:448 msgid "" @@ -373,6 +537,10 @@ msgid "" "decorator. Note that the dispatch happens on the type of the first non-self " "or non-cls argument, create your function accordingly::" msgstr "" +"Para definir un método genérico, decóralo con el decorador " +"``@singledispatchmethod``. Tenga en cuenta que el envío se produce en el " +"tipo del primer argumento que no sea un atributo de instancias (*non-self*) " +"ni un atributo de clases (*non-cls*), cree su función en consecuencia::" #: ../Doc/library/functools.rst:465 msgid "" @@ -381,12 +549,18 @@ msgid "" "``singledispatchmethod`` must be the *outer most* decorator. Here is the " "``Negator`` class with the ``neg`` methods being class bound::" msgstr "" +"El ``@singledispatchmethod`` apoya el anidamiento con otros decoradores como " +"el ``@classmethod``. Ten en cuenta que para permitir el ``dispatcher." +"register``, ``singledispatchmethod`` debe ser el decorador *outer most*. " +"Aquí está la clase ``neg`` con los métodos ``Negator`` limitados a la clase::" #: ../Doc/library/functools.rst:486 msgid "" "The same pattern can be used for other similar decorators: ``staticmethod``, " "``abstractmethod``, and others." msgstr "" +"El mismo patrón puede ser usado para otros decoradores similares: " +"``staticmethod``, ``abstractmethod``, y otros." #: ../Doc/library/functools.rst:494 msgid "" @@ -401,6 +575,17 @@ msgid "" "string) and ``WRAPPER_UPDATES`` (which updates the wrapper function's " "``__dict__``, i.e. the instance dictionary)." msgstr "" +"Actualizar una función envoltorio (*wrapper*) para que se parezca a la " +"función de envoltura(*wrapped*). Los argumentos opcionales son tuplas para " +"especificar qué atributos de la función original se asignan directamente a " +"los atributos correspondientes de la función de envoltura y qué atributos de " +"la función de envoltura se actualizan con los atributos correspondientes de " +"la función original. Los valores por defecto de estos argumentos son las " +"constantes de nivel de módulo ``WRAPPER_ASSIGNMENTS`` (que asigna al " +"``__module__`` de la función de envoltura, ``__module__``, ``__name__``, " +"``__qualname__``, ``__annotations__`` y ``__doc__``, la cadena de " +"documentación) y ``WRAPPER_UPDATES`` (que actualiza el ``__dict__`` de la " +"función de envoltura(*wrapped*), i. e. el diccionario de instancias)." #: ../Doc/library/functools.rst:504 msgid "" @@ -409,6 +594,10 @@ msgid "" "this function automatically adds a ``__wrapped__`` attribute to the wrapper " "that refers to the function being wrapped." msgstr "" +"Para permitir el acceso a la función original para la introspección y otros " +"propósitos (por ejemplo, evitando un decorador de caché como :func:" +"`lru_cache`), esta función añade automáticamente un atributo ``__wrapped__`` " +"al envoltorio que se refiere a la función que se está envolviendo." #: ../Doc/library/functools.rst:509 msgid "" @@ -418,6 +607,11 @@ msgid "" "the wrapper definition rather than the original function definition, which " "is typically less than helpful." msgstr "" +"El principal uso previsto para esta función es en :term:`decorator` " +"functions que envuelven la función decorada y devuelven el envoltorio. Si la " +"función de envoltura no se actualiza, los metadatos de la función devuelta " +"reflejarán la definición de la envoltura en lugar de la definición de la " +"función original, lo que normalmente no es de gran ayuda." #: ../Doc/library/functools.rst:515 msgid "" @@ -427,18 +621,24 @@ msgid "" "on the wrapper function). :exc:`AttributeError` is still raised if the " "wrapper function itself is missing any attributes named in *updated*." msgstr "" +":func:`update_wrapper` puede ser usado con otros invocables que no sean " +"funciones. Cualquier atributo nombrado en *assigned* o *updated* que falte " +"en el objeto que se está invoca se ignora (es decir, esta función no " +"intentará establecerlos en la función de envoltura (*wrapper*)). :exc:" +"`AttributeError` sigue apareciendo si la propia función de envoltura no " +"tiene ningún atributo nombrado en *updated*." #: ../Doc/library/functools.rst:521 msgid "Automatic addition of the ``__wrapped__`` attribute." -msgstr "" +msgstr "Adición automática de ``__wrapped__`` attribute." #: ../Doc/library/functools.rst:524 msgid "Copying of the ``__annotations__`` attribute by default." -msgstr "" +msgstr "Copia del atributo ``__annotations__`` por defecto." #: ../Doc/library/functools.rst:527 msgid "Missing attributes no longer trigger an :exc:`AttributeError`." -msgstr "" +msgstr "Los atributos faltantes ya no desencadenan un :exc:`AtributoError`." #: ../Doc/library/functools.rst:530 msgid "" @@ -446,6 +646,9 @@ msgid "" "even if that function defined a ``__wrapped__`` attribute. (see :issue:" "`17482`)" msgstr "" +"El atributo ``__wrapped__`` ahora siempre se refiere a la función envuelta, " +"incluso si esa función definió un atributo ``__wrapped__``. (see :issue:" +"``17482``)" #: ../Doc/library/functools.rst:538 msgid "" @@ -454,6 +657,10 @@ msgid "" "``partial(update_wrapper, wrapped=wrapped, assigned=assigned, " "updated=updated)``. For example::" msgstr "" +"Esta es una función conveniente para invocar :func:`update_wrapper` como " +"decorador de la función cuando se define una función de envoltura " +"(*wrapper*). Es equivalente a ``partial(update_wrapper, wrapped=wrapped, " +"assigned=assigned, updated=updated)``. Por ejemplo::" #: ../Doc/library/functools.rst:564 msgid "" @@ -461,34 +668,45 @@ msgid "" "would have been ``'wrapper'``, and the docstring of the original :func:" "`example` would have been lost." msgstr "" +"Sin el uso de esta fábrica de decoradores, el nombre de la función de " +"ejemplo habría sido ``'wrapper'``, y el docstring de la :func:`example` se " +"habría perdido." #: ../Doc/library/functools.rst:572 msgid ":class:`partial` Objects" -msgstr "" +msgstr ":class:`partial` Objetos" #: ../Doc/library/functools.rst:574 msgid "" ":class:`partial` objects are callable objects created by :func:`partial`. " "They have three read-only attributes:" msgstr "" +"Los objetos :class:`partial` son objetos invocables creados por :func:" +"`partial`. Tienen tres atributos de sólo lectura:" #: ../Doc/library/functools.rst:580 msgid "" "A callable object or function. Calls to the :class:`partial` object will be " "forwarded to :attr:`func` with new arguments and keywords." msgstr "" +"Un objeto o función invocable. Las llamadas al objeto :class:`partial` " +"serán reenviadas a :attr:`func` con nuevos argumentos y palabras clave." #: ../Doc/library/functools.rst:586 msgid "" "The leftmost positional arguments that will be prepended to the positional " "arguments provided to a :class:`partial` object call." msgstr "" +"Los argumentos posicionales de la izquierda que se prepararán para los " +"argumentos posicionales proporcionados un llamado al objeto :class:`partial`." #: ../Doc/library/functools.rst:592 msgid "" "The keyword arguments that will be supplied when the :class:`partial` object " "is called." msgstr "" +"Los argumentos de la palabra clave que se suministrarán cuando se llame al " +"objeto :class:`partial`." #: ../Doc/library/functools.rst:595 msgid "" @@ -499,3 +717,10 @@ msgid "" "`partial` objects defined in classes behave like static methods and do not " "transform into bound methods during instance attribute look-up." msgstr "" +"Los objetos :class:`partial` son como los objetos :class:`function` que son " +"invocables, de referencia débil y pueden tener atributos. Hay algunas " +"diferencias importantes. Por ejemplo, los atributos :attr:`~definition." +"__name__` y :attr:`__doc__` no se crean automáticamente. Además, los " +"objetos :class:`partial` definidos en las clases se comportan como métodos " +"estáticos y no se transforman en métodos vinculados durante la búsqueda de " +"atributos de la instancia."