17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

__getitem__(key)<br />

Structuration du code<br />

CHAPITRE 5<br />

Utilisée lorsqu’une évaluation de type objet[key] est effectuée. Pour les objets de<br />

type séquences, key doit être un entier positif ou un objet de type slice. Les mappings,<br />

quant à eux, utilisent des clés de tout type non modifiable.<br />

Si la clé fournie n’est pas d’un type compatible, une erreur TypeError est retournée.<br />

Enfin, si la clé est en dehors des valeurs autorisées, une erreur de type IndexError est<br />

retournée.<br />

__setitem__(key, value)<br />

Utilisée lorsqu’une assignation de type objet[key] = valeur est effectuée. Les<br />

mêmes erreurs peuvent être utilisées que celles de __getitem__. Les mappings ajoutent<br />

automatiquement la clé lorsqu’elle n’existe pas, contrairement aux séquences qui<br />

retournent une erreur si la clé n’existe pas.<br />

__delitem__(key)<br />

Permet de supprimer une entrée du conteneur.<br />

__len__()<br />

Appelée par la primitive len(), et permet de renvoyer le nombre d’éléments du conteneur.<br />

__iter__()<br />

Appelée par la primitive iter(), et doit renvoyer un iterator capable de parcourir les<br />

éléments.<br />

__contains__(item)<br />

Renvoie vrai si item se trouve parmi les éléments.<br />

Un peu de contenu<br />

>>> class MyContainer:<br />

... def __init__(self):<br />

... self._data = {}<br />

... def __getitem__(self, key):<br />

... if key in self._data:<br />

... return self._data[key]<br />

... else:<br />

... print("Je n'ai pas %s" % key)<br />

... def __setitem__(self, key, value):<br />

... self._data[key] = value<br />

... def __delitem__(self, key):<br />

... print('on ne fait pas ca chez moi')<br />

123

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!