PROJET AUTOBLOG


Sam & Max: Python, Django, Git et du cul

Site original : Sam & Max: Python, Django, Git et du cul

⇐ retour index

Attend, pourquoi il me colore vars lui ?

mercredi 19 février 2014 à 00:10

Je connais tout en Python. On peut rien m’apprendre. Je suis un Dieu.

Mais pourquoi mon éditeur de texte me colore le nom de variable vars comme si c’était une fonction ? Je n’ai pas défini de…

Attend…

Nan…

Putain c’est un built-in !

Il y a encore des fonctions built-in que je ne connais pas non de nom !

>>> class UneClasse(object):
...     def __init__(self):
...         self.attribut = 'valeur'
...     def methode(self):
...         pass
...     
>>> vars(UneClasse()) # wut ?
{'attribut': u'valeur'}

En fait c’est l’équivalent de faire obj.__dict__, mais en propre. Tout comme next(iterable) est la version propre de iterable.__next__().

D’ailleurs on travaille sur une copie :

>>> id(object.__dict__)
33943288
>>> id(vars(object))
33942840

A chaque fois que je commence à me sentir enfin un programmeur de la mort, y a un détail pour me rappeler qu’il me reste toujours des bases à apprendre.

flattr this!