Seite 1 von 1

String Modul Operator Platzhalter

Verfasst: Sonntag 5. November 2017, 18:23
von paradiesvogel24
Hallo zusammen :lol:
arbeite mich gerade in Python ein und versuche die Taste oder die Tastenkombination: "String Modul Operator Taste zu finden und verzweifel schon.

Dachte das es die Prozentaste über der taste 5 ist und mit CTR*5 zu erreichen ist aber das Zeichen sieht anders aus.

Weder im Forum noch bei google bin ich fündig geworden.

Es handelt sich um dieses Zeichen:"%"

Bitte um schnelle Hilfe. leider auch über Sonderzeichen nicht zu finden.

Vielen Dank im Voraus.

Re: String Modul Operator Platzhalter

Verfasst: Sonntag 5. November 2017, 18:29
von Sirius3
@paradiesvogel24: Du meinst den Modulo-Operator `%`, was tatsächlich das Prozentzeichen ist - Shift+5 und nicht Ctrl+5.

Re: String Modul Operator Platzhalter

Verfasst: Sonntag 5. November 2017, 18:39
von narpfel
@paradiesvogel24: Meistens möchte man den alten Stringformatierungsoperator `%`allerdings nicht mehr benutzen, sondern die `format`-Methode von Strings:

Code: Alles auswählen

# Alt:
>>> "Hallo %s! %d" % ("Welt", 42)
'Hallo Welt! 42'
# Schöner ist
>>> "Hallo {}! {}".format("Welt", 42)
'Hallo Welt! 42'

Re: String Modul Operator Platzhalter

Verfasst: Sonntag 5. November 2017, 18:56
von paradiesvogel24
Ok vielen Dank.
Dann lag es wohl mal wieder an einem Rechtschreibfehler den ich nicht gefunden hatte. dachte es gibt noch ein anderes Zeichen als das Prozentzeichen?

Arbeite gerade das Buch"Python kinderleicht" da ich die anderen etwas schwieriger finde und das Buch ist von 2016 da sollte es doch aktuell sein.

Wie würde es dann in diesem Code nach der neuen Methode aussehen:
Witztext = '%s: eine Vorrichtung zum Auffinden von Möbeln im Dunklen'
Körperteil1 = 'Knie'
Körperteil2 = 'Schienbein'
print(Witztext % Körperteil1)
print(Witztext % Körperteil2)

Re: String Modul Operator Platzhalter

Verfasst: Sonntag 5. November 2017, 19:03
von noisefloor
Hallo,

so:

Code: Alles auswählen

witztext = '{}: eine Vorrichtung zum Auffinden von Möbeln im Dunklen'
körperteil1 = 'Knie'
körperteil2 = 'Schienbein'
print(witztext.format(körperteil1))
print(witztext.format(körperteil2))
Variablennamen schreibt man in Python per Konvention klein, nicht groß. Und wenn man anfängt, Variablen zu nummerieren, dann gibt es in der Regel eine bessere Datenstruktur. Z.B. per Liste:

Code: Alles auswählen

witztext = '{}: eine Vorrichtung zum Auffinden von Möbeln im Dunklen'
körperteile = ['Knie', 'Schienenbein']
for körperteil in körperteile:
    print(witztext.format(körperteil))
Gruß, noisefloor

Re: String Modul Operator Platzhalter

Verfasst: Sonntag 5. November 2017, 19:14
von narpfel
Das würde so aussehen:

Code: Alles auswählen

Witztext = '{}: eine Vorrichtung zum Auffinden von Möbeln im Dunklen'
Körperteil1 = 'Knie'
Körperteil2 = 'Schienbein'
print(Witztext.format(Körperteil1))
print(Witztext.format(Körperteil2))
Allerdings würde man das eher nicht so schreiben, weil durchnummerierte Name meist ein Zeichen dafür sind, dass es eigentlich eine bessere Methode gibt, meistens eine Liste. Außerdem halten sich die Namen nicht an PEP8 (da sollte man auch als Anfänger mal einen Blick reinwerfen, damit man sich mögliche schlechte Angewohnheiten gar nicht erst angewöhnt und später wieder entlernen muss).

Code: Alles auswählen

körperteile = ["Knie", "Schienbein"]
for körperteil in körperteile:
    print("{}: eine Vorrichtung zum Auffinden von Möbeln im Dunklen".format(körperteil))
Arbeite gerade das Buch"Python kinderleicht" da ich die anderen etwas schwieriger finde und das Buch ist von 2016 da sollte es doch aktuell sein.
Naja, das Buch ist die zweite Auflage einer Übersetzung eines englischen Buchs von 2012. In Python 2 war die alte Stringformatierung noch verbreiteter und die neue erst mit Python 2.7 richtig eingeführt. Und das ist von 2010. Es kann also gut sein, dass der Autor sich 2012 noch nicht umgewöhnt hatte und seit dem hat es niemand mehr geändert. Im Programmierkontext ändert sich manchmal relativ schnell was und dadurch veralten Bücher schneller. Und im Gegensatz zu Webseiten kann man tote Bäume halt nicht mehr aktualisieren.

[Edit]: noisefloor war schneller... Naja, doppelt hält besser. :wink:

Re: String Modul Operator Platzhalter

Verfasst: Sonntag 5. November 2017, 19:16
von paradiesvogel24
SUPER,
herzlichen Dank für die Aufklärung.

LG :roll: