Duplicaté possible: strong>
manière non pythonique de variables d'impression à Python? P>en PHP on peut écrire: p>
xxx pré> mais en python c'est: p>
xxx pré> 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? P>
points bonus pour quiconque obtient la référence em> p> blockQuote>
5 Réponses :
Quelque chose comme ça devrait fonctionner:
La façon dont vous faites, c'est une façon pythonique de le faire. Vous pouvez également utiliser le locaux Dictionnaire. Comme: 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. P> p>
Ouais, vous peut i> - mais pendant que vous y êtes, que diriez-vous de passer à la "nouvelle" formatage de chaîne? % code> -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 () code>, 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.
Le plus proche que vous puissiez accéder au comportement PHP, c'est et maintenir toujours votre python-zen est le suivant: impression insérera des espaces à chaque virgule. P> Plus Python commun idiome est: p> Si vous avez des tonnes d'arguments et que vous souhaitez les nommer, vous pouvez utiliser un dict: p>
Une légère adaptation de l'espoir de noms de noms dans PEP-3101 : pour: p>
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. P>
Attention, si vous modifiez une variable locale, vous devrez le changer également dans toutes les chaînes traduites. p>
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}! ') code> et bien plus (tous les opérateurs de formatage, des éléments de liste d'accès et des attributs, appelezstr () code> ouREC () code> avec! s code> ou! r code> ...