builtins – Sam & Max http://sametmax.com Du code, du cul Wed, 30 Oct 2019 15:34:04 +0000 en-US hourly 1 https://wordpress.org/?v=4.9.7 32490438 Attend, pourquoi il me colore vars lui ? http://sametmax.com/attend-pourquoi-il-me-colore-vars-lui/ http://sametmax.com/attend-pourquoi-il-me-colore-vars-lui/#comments Tue, 18 Feb 2014 23:10:05 +0000 http://sametmax.com/?p=9189 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.

]]>
http://sametmax.com/attend-pourquoi-il-me-colore-vars-lui/feed/ 4 9189