summaryrefslogtreecommitdiff
path: root/src/05_oop.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/05_oop.md')
-rw-r--r--src/05_oop.md11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/05_oop.md b/src/05_oop.md
index 1e233aa..5f0ae6a 100644
--- a/src/05_oop.md
+++ b/src/05_oop.md
@@ -814,7 +814,7 @@ propio objeto que está siendo llamado, el `self` que ya conocemos.
Resumiendo, el método `__call__` describe cómo se comporta el objeto cuando se
le aplican las paréntesis.
-### *Subscriptable*: `__getitem__` y `__setitem__`
+### *Subscriptable*: `__getitem__`, `__setitem__` y `__delitem__`
Tal y como el método anterior describía cómo se aplican las paréntesis a un
objeto, el protocolo que se muestra en este apartado describe el comportamiento
@@ -826,7 +826,8 @@ este comportamiento mediante el protocolo que tenemos entre manos.
Cuando python encuentra que se está tratando de acceder a un campo de un objeto
mediante los corchetes llama automáticamente al método `__getitem__` y cuando
se intenta asociar un campo a un valor llama al método `__setitem__` del
-objeto.
+objeto. Al pedir la eliminación de un campo del objeto con la sentencia `del`,
+se llama al método `__delitem__`.
Aunque en otros protocolos aquí descritos hemos inventado un nombre para este
documento, Python a este protocolo le denomina *subscriptable* así que cuando
@@ -901,9 +902,9 @@ los campos de un objeto, si se trata de escribir suelta lanza un error de
sintaxis. Para crear *slice*s de forma separada se construyen mediante la
clase `slice` de la siguiente manera: `slice(inicio, fin, salto)`.
-En los métodos del protocolo *subscriptable* (`__getitem__` y `__setitem__`) a
-la hora de elegir un *slice* se recibe una instancia del tipo *slice* en lugar
-de una selección única como en el ejemplo previo:
+En los métodos del protocolo *subscriptable* (`__getitem__`, `__setitem__` y
+`__delitem__`) a la hora de elegir un *slice* se recibe una instancia del tipo
+*slice* en lugar de una selección única como en el ejemplo previo:
``` python
>>> class Dog: