Tu m'explique en quoi overwriter __setitem__(self, idx, value), c'est plus "malin" que d'overwriter [](idx, value) ? À par évidemment que le second est plus logique puisque tu appelle foo[x] ...
Je pense que le pragmatisme de Python choque facilement quand on essaie de plaquer trop rapidement un modèle théorique externe -principe de moindre surprise et de plus grande ergonomie possible, surtout pour le relecteur (et en même temps, Python est tout à fait cohérent avec lui-même).
Pour moi, ça en fait quand même des défauts importants pour l'enseignement (des défauts tout court en fait imho mais bon). Après tu peux trouver ça super cool, super consistent, moi je trouve plein de petits détails pas "logiques", "surprenants" et donc "error-prone" quand tu ne fais pas que du Python.
[^] # Re: Ruby
Posté par zul . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2. Dernière modification le 23 juillet 2014 à 16:15.
Tu m'explique en quoi overwriter
__setitem__(self, idx, value), c'est plus "malin" que d'overwriter[](idx, value)? À par évidemment que le second est plus logique puisque tu appelle foo[x] ...Pour moi, ça en fait quand même des défauts importants pour l'enseignement (des défauts tout court en fait imho mais bon). Après tu peux trouver ça super cool, super consistent, moi je trouve plein de petits détails pas "logiques", "surprenants" et donc "error-prone" quand tu ne fais pas que du Python.