Mise à jour
Mise à jour de la base de données, veuillez patienter...
Site original : Sam & Max: Python, Django, Git et du cul
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.