Was ist der Unterschied zwischen einem -> + <- und -> , <-

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
OrhanBencegay
User
Beiträge: 4
Registriert: Mittwoch 8. April 2020, 21:25

Guten Tag,

ich bin Programmier-Anfänger daher bitte ich blöde Kommentare zu unterlassen. Entweder gescheit auf die Frage eingehen oder gar nicht. Schließlich wart Ihr auch da wo ich mich gerade befinde. Jetzt zu meiner Frage:

Ein Beispiel, um meine Frage zu präzisieren

Bsp. mit "+":


d = 25

print ("Max ist" + str(25))

Bsp. mit ",":


d = 25

print ("Max ist" , str(25))


Bei beidem bekomme ich das selbe Ergebnis aber da muss es einen Unterschied geben. Was der genaue unterschied hier? Was muss oder darf ich WANN benutzen?

Danke
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Im ersetn Fall klebst du Zeichenketten mit + zusammen. Das sollte man tunlichst unterlassen, weil es hässlich ist und ständig neue Zeichenketten gebildet werden müssen.

Im zweiten Fall übergibst du mehrer Parameter an dir print Funktion.

Nimm, um Zeichneketten zu formatieren, seit Python 3.6 f-Strings:

Code: Alles auswählen

d = 25
print(f"Max ist: {d}")
Zuletzt geändert von sparrow am Mittwoch 8. April 2020, 22:02, insgesamt 1-mal geändert.
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@OrhanBencegay: ``+`` ist ein Operator, den man beispielsweise auf Zeichenketten anwenden kann, und der dann diese beiden Zeichenketten verbindet.

Das Komma in Deinem Beispiel ist ganz einfach der Trenner zwischen Argumenten bei Funktionsaufrufen. Im ersten Beispiel rufst Du `print()` mit einem Argument auf (der Zeichenkette die bei der ``+``-Operation entstanden ist), und in zweiten Beispiel rufst Du `print()` mit zwei Argumenten auf.

Im ersten Beispiel fehlt ein Leerzeichen, weil sonst "Max ist25" ausgeben wird. Im zweiten Beispiel ist der `str()`-Aufruf überflüssig weil das die `print()`-Funktion schon erledigt.

Zwischen `print` und der öffnenden Klammer des Funktionsaufrufs gehört kein Leerzeichen.

Statt der 25 wolltest Du sicher `d` verwenden, denn das ist in beiden Beispielen ja unbenutzt.

`d` ist ein schlechter Name für ein Alter.

Das erste, ``+`` und `str()` macht man übrigens nicht. Das ist eher BASIC als Python. Entweder das zweite Beispiel, oder Zeichenkettenformatierung mit der `format()`-Methode, oder ab Python 3.6 mit f-Zeichenkettenliteralen:

Code: Alles auswählen

age = 25  # in years.
print(f"Max ist {age}.")
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten