10
votes

Interpolation variable en python

Duplicaté possible:

manière non pythonique de variables d'impression à Python?

en PHP on peut écrire: xxx

mais en python c'est: xxx

y a-t-il un moyen pour moi Pour interpoler des variables dans des chaînes à la place? Et sinon, comment est-ce plus pythonique?

points bonus pour quiconque obtient la référence


1 commentaires

Toutes les réponses existantes sont (sévèrement) obsolètes à partir de Python 3.x et en particulier 3.6. Avec F-Strings in 3.6 Nous pouvons maintenant faire Imprimer (f'Hey, {fruit}! ') et bien plus (tous les opérateurs de formatage, des éléments de liste d'accès et des attributs, appelez str () ou REC () avec ! s ou ! r ...


5 Réponses :


1
votes

Quelque chose comme ça devrait fonctionner: xxx


0 commentaires

7
votes

La façon dont vous faites, c'est une façon pythonique de le faire. Vous pouvez également utiliser le locaux Dictionnaire. Comme: XXX

Maintenant, cela n'a pas l'air très pythonique, mais c'est le seul moyen d'atteindre le même affect que vous avez dans votre formatage PHP. Je voudrais juste coller à la façon dont vous le faites.


4 commentaires

Ouais, vous peut - mais pendant que vous y êtes, que diriez-vous de passer à la "nouvelle" formatage de chaîne? % -Formatting sera supprimé un jour ...


Cela a l'air encore pire que la façon dont je le fais


Il est extrêmement mauvais style d'utiliser locals () , ne faites jamais cela. Passez les valeurs réelles que vous souhaitez mettre dans la chaîne à la place.


@Allen: Oui, c'est mauvais style .. Je sais que, mais c'est la seule façon de faire ce qu'il veut en python.



12
votes

Le plus proche que vous puissiez accéder au comportement PHP, c'est et maintenir toujours votre python-zen est le suivant: xxx

impression insérera des espaces à chaque virgule.

Plus Python commun idiome est: xxx

Si vous avez des tonnes d'arguments et que vous souhaitez les nommer, vous pouvez utiliser un dict: xxx


0 commentaires

2
votes

Une légère adaptation de l'espoir de noms de noms dans PEP-3101 : xxx

pour: xxx


0 commentaires

-3
votes

Ne le faites pas. Ce n'est pas spythonic. AS l'exemple, lorsque vous ajoutez des traductions à votre application, vous ne pouvez plus contrôler lesquelles les variables sont utilisées à moins que vous ne vérifiez que toutes les fichiers de traduction vous-même.

Attention, si vous modifiez une variable locale, vous devrez le changer également dans toutes les chaînes traduites.


0 commentaires