Assignment von Variablen zu Variablen

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
Krischu
User
Beiträge: 87
Registriert: Dienstag 14. Januar 2014, 09:07

Bin neu bei Python und habe so ein paar Verständnisprobleme beim Assignment von Variablen.

a = b

bedeutet, wie ich gelesen habe, daß a und b dieselbe Memorylocation teilen. Also ist diese Zuweisung im Grunde sinnlos,
weil das, was ich mit b mache auch gleich auf a zurückwirkt und umgekehrt.

In anderen Programmiersprachen ist das meist anders.

Wie löse ich also in Python dieses in jeder anderen Programmiersprache ziemlich triviale Problem

Code: Alles auswählen

for line in f :
      if '\t' in line:
           print 'Zeile mit TAB gefunden'
           print 'Vorgängerzeile war:', previous
      previous = line


--
Grüße
Christoph
--
Grüße
Christoph
BlackJack

@Krischu: Was ist jetzt das Problem? Das Programm dort zeigt die Zeile vor der Zeile in der das Tab gefunden wird. Hättest Du jetzt etwas anderes erwartet und wenn ja was?

`a` und `b` sind Namen. Denen werden Objekte zugeordnet. Und nach ``a = b`` stehen sowohl `a` als auch `b` für das selbe Objekt. Dass das nicht sinnlos ist zeigt ja Dein Programmbeispiel. Denn man kann `b` danach natürlich wieder an ein anderes Objekt binden. Das macht in Deinem Beispiel die ``for``-Schleife.

Edit: Java & Co funktionieren an der Stelle übrigens genau so, mit der Ausnahme von „primitiven Typen”. Die gibt es in Python nicht, in Python ist *alles* was man an einen Namen binden kann ein Objekt.
Krischu
User
Beiträge: 87
Registriert: Dienstag 14. Januar 2014, 09:07

Ich muß ein Brett vorm Kopf gehabt haben, sorry.
:)
--
Grüße
Christoph
Antworten