From 040ecbed96909017220947f19109b6c158dbdf8e Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Wed, 4 Dec 2019 20:06:05 +0100 Subject: delete --- src/05_oop.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/05_oop.md') 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: -- cgit v1.2.3