Comment puis-je créer une multiligne chaîne Python avec inline variables?
Je suis à la recherche d'un moyen propre à utiliser des variables au sein d'une multiligne chaîne Python. Dire que je voulais faire ce qui suit:
string1 = go
string2 = now
string3 = great
"""
I will $string1 there
I will go $string2
$string3
"""
Je suis à la recherche pour voir si il ya quelque chose de semblable à $
en Perl pour indiquer une variable dans la syntaxe de Python.
Si ce n'est pas ce qui est la façon la plus propre de créer un multi-ligne de chaîne à l'aide de variables?
Vous devez vous connecter pour publier un commentaire.
La façon la plus commune est la
format()
fonction:Il fonctionne très bien avec un multi-format de la ligne de chaîne:
Vous pouvez également passer d'un dictionnaire à l'aide de variables:
La chose la plus proche de ce que vous avez demandé (en termes de syntaxe) sont modèle de chaînes de caractères. Par exemple:
Je dois ajouter, cependant, que la
format()
fonction est plus courant car il est facilement disponible et il ne nécessite pas de ligne d'importation.vars()
oulocals()
que le dictionnaire en questiondict
de toute façon.{{this}}
.'''string here'''
technique est une technique solide et fonctionne bien, mais elle crée une certaine VRAIMENT LAID code source lorsque vous avez pour aligner à gauche toutes les, mais la première ligne et de votre code source est mis en retrait à plusieurs niveaux. Pour obtenir un joli et facile-à-look-at code source avec de belles alignement, par conséquent, l'utilisation de cette technique ici: stackoverflow.com/a/54564926/4561887. Il a ses inconvénients, bien sûr, mais pour rien de moins qu'un long paragraphe de texte, j'aime bien cette autre technique sur l'utilisation de la''' '''
technique.NOTE: La méthode recommandée pour la chaîne de mise en forme en Python est d'utiliser
format()
, comme indiqué dans la accepté de répondre à. Je suis à la préservation de cette réponse comme un exemple de la C-la syntaxe de style qui est également pris en charge.Un peu de lecture:
Vous pouvez utiliser Python 3.6 f-chaînes pour les variables à l'intérieur de multi-ligne ou le long d'une seule ligne de chaînes. Vous pouvez spécifier manuellement les caractères de saut de ligne à l'aide de
\n
.Variables dans un multi-ligne de chaîne
Variables dans une longue ligne unique chaîne de
Alternativement, vous pouvez également créer une multiligne f-chaîne à triple guillemets.
+
pour concaténer): stackoverflow.com/a/54564926/4561887Un dictionnaire peut être passé à
format()
, chaque nom de la clé va devenir une variable pour chaque valeur associée.Une liste peut être passé à
format()
, le numéro d'index de chaque valeur sera utilisée comme des variables dans ce cas.Les deux solutions ci-dessus sera de sortie le même:
C'est ce que vous voulez:
"""
préserve les retours à la ligne, ce qui signifie qu'il ya un supplément de saut de ligne avant et aprèsmystring
.strip()
,.rstrip()
ou.lstrip()
, ou ue d'un jeu à l'intérieur de la triple guillemets pour éviter de créer un saut de ligne. mystring = """\ ABC\ """