@@ -1197,7 +1197,7 @@ msgid ""
1197
1197
"result, the function becomes identically accessible from either an object or "
1198
1198
"a class."
1199
1199
msgstr ""
1200
- "Los métodos estáticos devuelven la función subyacente sin cambios. Llamar a "
1200
+ "Los métodos estáticos retornan la función subyacente sin cambios. Llamar a "
1201
1201
"``c.f`` o ``C.f`` es equivalente a una búsqueda directa en ``object."
1202
1202
"__getattribute__(c, \" f\" )`` o en ``object.__getattribute__(C, \" f\" )``. "
1203
1203
"Como resultado, la función se vuelve idénticamente accesible desde un objeto "
@@ -1237,7 +1237,7 @@ msgid ""
1237
1237
"Since static methods return the underlying function with no changes, the "
1238
1238
"example calls are unexciting:"
1239
1239
msgstr ""
1240
- "Dado que los métodos estáticos devuelven la función subyacente sin cambios, "
1240
+ "Dado que los métodos estáticos retornan la función subyacente sin cambios, "
1241
1241
"las llamadas de ejemplo carecen de interés::"
1242
1242
1243
1243
#: ../Doc/howto/descriptor.rst:1253
@@ -1419,176 +1419,3 @@ msgstr ""
1419
1419
#: ../Doc/howto/descriptor.rst:1629
1420
1420
msgid "Misspelled or unassigned attributes will raise an exception:"
1421
1421
msgstr "Atributos mal deletreados o no asignados lazarán una excepción:"
1422
-
1423
- #~ msgid ""
1424
- #~ "Defines descriptors, summarizes the protocol, and shows how descriptors "
1425
- #~ "are called. Examines a custom descriptor and several built-in Python "
1426
- #~ "descriptors including functions, properties, static methods, and class "
1427
- #~ "methods. Shows how each works by giving a pure Python equivalent and a "
1428
- #~ "sample application."
1429
- #~ msgstr ""
1430
- #~ "Definir los descriptores, resumir el protocolo y mostrar como los "
1431
- #~ "descriptores son llamados. Estudiar un descriptor personalizado y varios "
1432
- #~ "descriptores de Python incorporados, incluidas funciones, propiedades, "
1433
- #~ "métodos estáticos y métodos de clase. Mostrar como funciona cada uno "
1434
- #~ "proporcionando un equivalente puro de Python y un ejemplo de aplicación."
1435
-
1436
- #~ msgid ""
1437
- #~ "In general, a descriptor is an object attribute with \"binding behavior"
1438
- #~ "\", one whose attribute access has been overridden by methods in the "
1439
- #~ "descriptor protocol. Those methods are :meth:`__get__`, :meth:`__set__`, "
1440
- #~ "and :meth:`__delete__`. If any of those methods are defined for an "
1441
- #~ "object, it is said to be a descriptor."
1442
- #~ msgstr ""
1443
- #~ "En general, un descriptor es un atributo de objeto con \"comportamiento "
1444
- #~ "vinculante\", dónde el acceso al atributo ha sido reemplazado por métodos "
1445
- #~ "en el protocolo del descriptor. Esos métodos son :meth:`__get__`, :meth:"
1446
- #~ "`__set__` y :meth:`__delete__`. Si alguno de esos métodos está definido "
1447
- #~ "para un objeto, se dice que es un descriptor."
1448
-
1449
- #~ msgid ""
1450
- #~ "Descriptors are a powerful, general purpose protocol. They are the "
1451
- #~ "mechanism behind properties, methods, static methods, class methods, and :"
1452
- #~ "func:`super()`. They are used throughout Python itself to implement the "
1453
- #~ "new style classes introduced in version 2.2. Descriptors simplify the "
1454
- #~ "underlying C-code and offer a flexible set of new tools for everyday "
1455
- #~ "Python programs."
1456
- #~ msgstr ""
1457
- #~ "Los descriptores son un potente protocolo de propósito general. Son el "
1458
- #~ "mecanismo detrás de las propiedades, métodos, métodos estáticos, métodos "
1459
- #~ "de clase y :func:`super()`. Se utilizan en todo Python para implementar "
1460
- #~ "las clases de nuevo estilo introducidas en la versión 2.2. Los "
1461
- #~ "descriptores simplifican el código C subyacente y ofrecen un conjunto "
1462
- #~ "flexible de nuevas herramientas para los programas de Python cotidianos."
1463
-
1464
- #~ msgid "Invoking Descriptors"
1465
- #~ msgstr "Invocar descriptores"
1466
-
1467
- #~ msgid ""
1468
- #~ "Alternatively, it is more common for a descriptor to be invoked "
1469
- #~ "automatically upon attribute access. For example, ``obj.d`` looks up "
1470
- #~ "``d`` in the dictionary of ``obj``. If ``d`` defines the method :meth:"
1471
- #~ "`__get__`, then ``d.__get__(obj)`` is invoked according to the precedence "
1472
- #~ "rules listed below."
1473
- #~ msgstr ""
1474
- #~ "Alternativamente, es más común que un descriptor se invoque "
1475
- #~ "automáticamente al acceder a un atributo. Por ejemplo, ``obj.d`` busca "
1476
- #~ "``d`` en el diccionario de ``obj``. Si ``d`` define el método :meth:"
1477
- #~ "`__get__`, entonces se invoca ``d.__get__(obj)`` de acuerdo con las "
1478
- #~ "reglas de precedencia que se enumeran a continuación."
1479
-
1480
- #~ msgid ""
1481
- #~ "For objects, the machinery is in :meth:`object.__getattribute__` which "
1482
- #~ "transforms ``b.x`` into ``type(b).__dict__['x'].__get__(b, type(b))``. "
1483
- #~ "The implementation works through a precedence chain that gives data "
1484
- #~ "descriptors priority over instance variables, instance variables priority "
1485
- #~ "over non-data descriptors, and assigns lowest priority to :meth:"
1486
- #~ "`__getattr__` if provided. The full C implementation can be found in :c:"
1487
- #~ "func:`PyObject_GenericGetAttr()` in :source:`Objects/object.c`."
1488
- #~ msgstr ""
1489
- #~ "Para los objetos, el mecanismo se encuentra en :meth:`object."
1490
- #~ "__getattribute__` que transforma ``b.x`` en ``type(b).__dict__['x']."
1491
- #~ "__get__(b, type(b))``. La implementación funciona a través de una cadena "
1492
- #~ "de precedencia que da a los descriptores de datos prioridad sobre las "
1493
- #~ "variables de instancia, a las variables de instancia prioridad sobre los "
1494
- #~ "descriptores de no-datos y asigna la prioridad más baja a :meth:"
1495
- #~ "`__getattr__` si se proporciona. La implementación completa en C se puede "
1496
- #~ "encontrar en :c:func:`PyObject_GenericGetAttr()` en :source:`Objects/"
1497
- #~ "object.c`."
1498
-
1499
- #~ msgid ""
1500
- #~ "For classes, the machinery is in :meth:`type.__getattribute__` which "
1501
- #~ "transforms ``B.x`` into ``B.__dict__['x'].__get__(None, B)``. In pure "
1502
- #~ "Python, it looks like::"
1503
- #~ msgstr ""
1504
- #~ "Para clases, el mecanismo se define en :meth:`type.__getattribute__` que "
1505
- #~ "transforma ``B.x`` en ``B.__dict__['x'].__get__(None, B)``. En Python "
1506
- #~ "puro, quedaría así::"
1507
-
1508
- #~ msgid ""
1509
- #~ "The object returned by ``super()`` also has a custom :meth:"
1510
- #~ "`__getattribute__` method for invoking descriptors. The attribute lookup "
1511
- #~ "``super(B, obj).m`` searches ``obj.__class__.__mro__`` for the base class "
1512
- #~ "``A`` immediately following ``B`` and then returns ``A.__dict__['m']."
1513
- #~ "__get__(obj, B)``. If not a descriptor, ``m`` is returned unchanged. If "
1514
- #~ "not in the dictionary, ``m`` reverts to a search using :meth:`object."
1515
- #~ "__getattribute__`."
1516
- #~ msgstr ""
1517
- #~ "El objeto devuelto por ``super()`` también tiene un método personalizado :"
1518
- #~ "meth:`__getattribute__` para poder invocar descriptores. La búsqueda de "
1519
- #~ "atributo ``super(B, obj).m`` busca ``obj.__class__.__mro__`` para la "
1520
- #~ "clase base ``A`` inmediatamente después de ``B`` y luego devuelve ``A."
1521
- #~ "__dict__['m'].__get__(obj, B)``. Si no es un descriptor, se devuelve "
1522
- #~ "``m`` sin cambios. Si no está en el diccionario, ``m`` revierte a una "
1523
- #~ "búsqueda usando :meth:`object.__getattribute__`."
1524
-
1525
- #~ msgid ""
1526
- #~ "The details above show that the mechanism for descriptors is embedded in "
1527
- #~ "the :meth:`__getattribute__()` methods for :class:`object`, :class:"
1528
- #~ "`type`, and :func:`super`. Classes inherit this machinery when they "
1529
- #~ "derive from :class:`object` or if they have a meta-class providing "
1530
- #~ "similar functionality. Likewise, classes can turn-off descriptor "
1531
- #~ "invocation by overriding :meth:`__getattribute__()`."
1532
- #~ msgstr ""
1533
- #~ "Los detalles anteriores muestran que el mecanismo para los descriptores "
1534
- #~ "está incrustado en los métodos :meth:`__getattribute__()` para :class:"
1535
- #~ "`object`, :class:`type` y :func:`super`. Las clases heredan este "
1536
- #~ "mecanismo cuando derivan de :class:`object` o mediante una metaclase que "
1537
- #~ "proporcione funcionalidades similares. Del mismo modo, las clases pueden "
1538
- #~ "desactivar la invocación del descriptor redefiniendo :meth:"
1539
- #~ "`__getattribute__()`."
1540
-
1541
- #~ msgid ""
1542
- #~ "The following code creates a class whose objects are data descriptors "
1543
- #~ "which print a message for each get or set. Overriding :meth:"
1544
- #~ "`__getattribute__` is alternate approach that could do this for every "
1545
- #~ "attribute. However, this descriptor is useful for monitoring just a few "
1546
- #~ "chosen attributes::"
1547
- #~ msgstr ""
1548
- #~ "El siguiente código crea una clase cuyos objetos son descriptores de "
1549
- #~ "datos que imprimen un mensaje para cada lectura o escritura. Redefinir :"
1550
- #~ "meth:`__getattribute__` es un enfoque alternativo que podría hacer esto "
1551
- #~ "para cada atributo. Sin embargo, este descriptor es útil para monitorizar "
1552
- #~ "solo algunos atributos elegidos::"
1553
-
1554
- #~ msgid ""
1555
- #~ "The protocol is simple and offers exciting possibilities. Several use "
1556
- #~ "cases are so common that they have been packaged into individual function "
1557
- #~ "calls. Properties, bound methods, static methods, and class methods are "
1558
- #~ "all based on the descriptor protocol."
1559
- #~ msgstr ""
1560
- #~ "El protocolo es simple y ofrece interesantes posibilidades. Varios casos "
1561
- #~ "de uso son tan comunes que se han empaquetado en llamadas a funciones "
1562
- #~ "individuales. Las propiedades, los métodos vinculados, los métodos "
1563
- #~ "estáticos y los métodos de clase se basan en el protocolo descriptor."
1564
-
1565
- #~ msgid ""
1566
- #~ "Class dictionaries store methods as functions. In a class definition, "
1567
- #~ "methods are written using :keyword:`def` or :keyword:`lambda`, the usual "
1568
- #~ "tools for creating functions. Methods only differ from regular functions "
1569
- #~ "in that the first argument is reserved for the object instance. By "
1570
- #~ "Python convention, the instance reference is called *self* but may be "
1571
- #~ "called *this* or any other variable name."
1572
- #~ msgstr ""
1573
- #~ "Los diccionarios de clase almacenan los métodos como funciones. En una "
1574
- #~ "definición de clase, los métodos se escriben usando :keyword:`def` o :"
1575
- #~ "keyword:`lambda`, las herramientas habituales para crear funciones. Los "
1576
- #~ "métodos solo difieren de las funciones regulares en que el primer "
1577
- #~ "argumento está reservado para la instancia del objeto. Por convención en "
1578
- #~ "Python, la referencia de instancia se llama *self* pero puede llamarse "
1579
- #~ "*this* o cualquier otro nombre de variable."
1580
-
1581
- #~ msgid ""
1582
- #~ "To support method calls, functions include the :meth:`__get__` method for "
1583
- #~ "binding methods during attribute access. This means that all functions "
1584
- #~ "are non-data descriptors which return bound methods when they are invoked "
1585
- #~ "from an object. In pure Python, it works like this::"
1586
- #~ msgstr ""
1587
- #~ "Para admitir llamadas a métodos, las funciones incluyen el método :meth:"
1588
- #~ "`__get__` para vincular métodos durante el acceso a atributos. Esto "
1589
- #~ "significa que todas las funciones son descriptores de no-datos que "
1590
- #~ "devuelven métodos enlazados cuando se invocan desde un objeto. En Python "
1591
- #~ "puro, funciona así::"
1592
-
1593
- #~ msgid "Static Methods and Class Methods"
1594
- #~ msgstr "Métodos estáticos y métodos de clase"
0 commit comments