fishtown hat geschrieben:
Hab ich das richtig verstanden?
Nein, hast du nicht. Dir ist immer noch nicht klar, wofür das
r da ist.
Wenn du in deinem Code einen String angibst, dann kannst du das z.B. wie folgt tun:
"name",
'name' oder auch
"""name""". Möchtest du jetzt beispielsweise an erster Stelle einen Backslash haben, so könnte man sich als Lösung
"\name" vorstellen. Das ergibt allerdings nicht das Gewünschte, da der Backslash ein Escape-Zeichen ist und damit dem folgenden Zeichen eine besondere Bedeutung verleiht (sofern eine definiert ist). Ein "\n" wird zu einem Zeilenumbruch, so dass der String im Endeffekt das Symbol für den Zeilenumbruch gefolgt von
"ame" enthält. Wenn du das Escape-Zeichen selber escapest dann erhältst du das Zeichen selber. Im Code würdest du also den String als
"\\name" angeben um
\name als Ergebnis zu bekommen.
Gibt man einen String im Code als Raw-String an, so verliert das Escape-Zeichen seine Sonderbedeutung. Um einen Raw-String zu definieren musst du dem einleitenden Anführungszeichen ein
r voranstellen. Das sieht dann so aus
r"\name" und ergibt dann auch
\name als Ergebnis. Dieses führende
r ist keine Variable oder Teil des Strings, es ist nur Teil der Python-Syntax.
BTW, es ist Freitag, harte Woche und ich bin über 50...