Seite 1 von 1

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

Verfasst: Mittwoch 8. April 2020, 21:40
von OrhanBencegay
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

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

Verfasst: Mittwoch 8. April 2020, 21:59
von sparrow
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}")

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

Verfasst: Mittwoch 8. April 2020, 22:02
von __blackjack__
@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}.")