Seite 1 von 1

frage zu strings

Verfasst: Sonntag 15. Juni 2014, 20:50
von blutigeranfaenger
Hallo zusammen,
ich habe eine Frage zu Strings.
Und zwar geht es um einen längeren Text, in den nur einige wenige Stichworte als Variablen eingefügt werden sollen.
Ich kriege das zwar hin, finde es aber sehr umständlich.
Gibt es nicht eine elgantere Lösung, die Variable name in dem String als Variable kenntlich zu machen?
Sowas wie das $-Zeichen bei Perl suche ich!
Hier mein Dummy-Beispiel:

Code: Alles auswählen

#!/usr/bin/env python3
name = "Hans"
text = name+" im Glück.\n Was "+name+" nicht lernte, lernt "+name+"chen nimmermehr!\n"
print(text)

Re: frage zu strings

Verfasst: Sonntag 15. Juni 2014, 20:54
von cofi
Ja, nennt sich String formatting:

Code: Alles auswählen

In [1]: name = "Hans"

In [2]: "%(name)s im Glueck.\n Was %(name)s nicht lernte, lernt %(name)schen nimmermehr!\n" % {'name': name}
Out[2]: 'Hans im Glueck.\n Was Hans nicht lernte, lernt Hanschen nimmermehr!\n'

In [3]: # oder

In [4]: "%(name)s im Glueck.\n Was %(name)s nicht lernte, lernt %(name)schen nimmermehr!\n" % locals()
Out[4]: 'Hans im Glueck.\n Was Hans nicht lernte, lernt Hanschen nimmermehr!\n'

Re: frage zu strings

Verfasst: Sonntag 15. Juni 2014, 20:54
von BlackJack
@blutigeranfaenger: Mit welchem Tutorial arbeitest Du denn das keine Zeichenkettenformatierun mittels `format()`-Methode oder ``%``-Operator zeigt? Ansonsten gäbe es noch `string.Template`, was aber kaum benutzt wird.

Re: frage zu strings

Verfasst: Sonntag 15. Juni 2014, 21:03
von blutigeranfaenger
Hallo danke für die Tipps!
Ich habe meine spärlichen Python-Kenntnisse aus einem Bibliotheksbuch (ich glaube von Weigand) und aus dem Netz.
Das Bibliotheksbuch habe ich nicht mehr griffbereit. Da stand was von String-Formatierung.
Damals hatte ich es noch nicht recht begriffen.
Muss mich mal da einarbeiten.

Re: frage zu strings

Verfasst: Sonntag 15. Juni 2014, 22:36
von darktrym
Ist nicht zufällig das ge-packt Buch?