A Byte of Python

Chapter 15. Més de Python

Table of Contents

Mètodes especials
Blocs d'una única sentència
Més sobre llistes
Ús de la selecció dins les llistes
Paràmetres de tipus tupla i diccionari
Lambda
Ús de lambda
Les sentències exec i eval
La sentència assert
La funció repr
Resum

Fins ara hem tractat la major part dels elements que farem servir de Python. A aquest capítol estudiarem alguns aspectes que ampliaran el nostre coneixement del llenguatge.

Mètodes especials

Hi ha alguns mètodes que tenen especial significat a les classes. Hem vist ja, per exemple, els mètodes __init__ i __del__.

Generalment es fan servir mètodes especials per a emular certs comportaments. Per exemple, si volem que una classe nostra permeti l'ús de l'operació d'indexació x[key] com si fos una llista o una tupla, simplement hem d'implementar el mètode __getitem__() i ja està!. De fet, aquesta és la manera en que Python implementa la classe list!

A continuació es llista alguns d'aquests mètodes especials. Es pot trobar la llista completa al manual de referència de Python.

Table 15.1. Alguns mètodes especials

NomDescripció
__init__(self, ...) Aquest mètode es cridat just abans que la nova instància sigui retornada per a ser usada.
__del__(self) Es cridat just abans de que la instància sigui destruida.
__str__(self) Es crida quan fem servir la sentència print amb l'objecte o bé quan es fa servir str().
__lt__(self, other) Es crida quan es fa servir l'operador menor què ( < ). de la mateixa manera tenim mètodes pe la resta d'operadors (+, >, etc.)
__getitem__(self, key) Es crida quan es fa servir l'operació d'indexació x[key].
__len__(self) Es crida quan es fa servir la funció len() sobre l'objecte.