17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

174<br />

Éléments du langage<br />

DEUXIÈME PARTIE<br />

pow : pow(x, y[, z]) -> nombre<br />

Calcul de la puissance, équivalent à x**y et à (x**y) % z. Dans ce deuxième cas, la<br />

primitive peut être plus rapide que la notation directe.<br />

Utilisation de pow<br />

>>> pow(2, 4)<br />

16<br />

>>> pow(2, 7)<br />

128<br />

property : property(fget=None, fset=None, fdel=None, doc=None) -><br />

attribut propriété<br />

property permet de créer une propriété à partir d’un attribut d’objet. Ajoutée récemment,<br />

cette fonctionnalité sert à retrouver une mécanique qui existe dans d’autres<br />

langages orientés objet : les attributs des objets ne sont pas directement accessibles<br />

par les utilisateurs de l’objet mais à travers la propriété qui utilise des fonctions get()<br />

et set() intermédiaires pour atteindre l’attribut. La méthode del() reste accessoire<br />

et est beaucoup plus spécifique à Python.<br />

Les paramètres sont :<br />

fget : méthode de l’objet utilisée lorsque la propriété est lue.<br />

fset : méthode de l’objet utilisée lorsque la propriété est affectée.<br />

fdel : méthode de l’objet utilisée lorsque la propriété est supprimée par del ou<br />

delattr.<br />

doc : docstring de la propriété.<br />

Création d’une propriété<br />

>>> class MyClass(object):<br />

... _a = 0<br />

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

... print('voici a')<br />

... return self._a<br />

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

... print('je place %s dans a' % str(value))<br />

... self._a = value<br />

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

... print ('je supprime a')<br />

... del self._a<br />

... a = property(get_a, set_a, del_a, 'Propriété a')<br />

...

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

Saved successfully!

Ooh no, something went wrong!