1) s/passe/passage
2) il est possible de mélanger les deux méthodes (ordre et mot clé)
dico = dict(nom="Bouchard",prénom="Guillaum")
"{0} ! {prénom} {nom} est un {0}".format("hibou",**dico)
3) cela permet d'introduire des formatages (je vous renvoi à la doc pour plus d'info [0])
4) la raison qui fait que il n'y a pas d'interpolation de chaîne directe comme en PHP (echo "Bonjour $prenom $nom") est simple :
a) Cela aurait demandé une modification du parseur. Ici il n'en est rien, ce n'est donc pas une notion du langage, mais seulement un outil de la librairie standard, le langage ne se complexifie pas (Python se veut simple). Si demain la fonction format doit évoluer, le parseur ne sera pas touché. De plus en tant que méthode, elle peut être surchargée sans syntaxe particulière.
b) Cela évite de devoir introduire des chaînes interpolées et des chaînes sans (en PHP le " et le ' différencie ces deux types de chaîne). Python se veut éxplicite, donc on supprime cela (j'ai beaucoup rie à mes débuts en PHP quand j'ai écris echo "$nom est ".$nom; ce n'était pas du tout ce que j'attendais.
J'aime vraiment cette fonction format de python ;)
[^] # Re: English vs other languages
Posté par Guillaum (site web personnel) . En réponse au journal Publication de Python 3.0rc2. Évalué à 3.
1) s/passe/passage
2) il est possible de mélanger les deux méthodes (ordre et mot clé)
dico = dict(nom="Bouchard",prénom="Guillaum")
"{0} ! {prénom} {nom} est un {0}".format("hibou",**dico)
3) cela permet d'introduire des formatages (je vous renvoi à la doc pour plus d'info [0])
4) la raison qui fait que il n'y a pas d'interpolation de chaîne directe comme en PHP (echo "Bonjour $prenom $nom") est simple :
a) Cela aurait demandé une modification du parseur. Ici il n'en est rien, ce n'est donc pas une notion du langage, mais seulement un outil de la librairie standard, le langage ne se complexifie pas (Python se veut simple). Si demain la fonction format doit évoluer, le parseur ne sera pas touché. De plus en tant que méthode, elle peut être surchargée sans syntaxe particulière.
b) Cela évite de devoir introduire des chaînes interpolées et des chaînes sans (en PHP le " et le ' différencie ces deux types de chaîne). Python se veut éxplicite, donc on supprime cela (j'ai beaucoup rie à mes débuts en PHP quand j'ai écris echo "$nom est ".$nom; ce n'était pas du tout ce que j'attendais.
J'aime vraiment cette fonction format de python ;)
[0] http://docs.python.org/whatsnew/2.6.html#pep-3101-advanced-string-formatting
N'hésitez pas à corriger mon orthographe, c'est comme cela que j'apprend ;)