[Python-de] Re: for unpacking
[email protected] (Stefan Ram) 11 Aug 2024 15:29:57 GMT
| Newsgroups | gmane.comp.python.general.german |
|---|---|
| Organization | Stefan Ram |
| Message-ID | <[email protected]> |
[email protected] (Stefan Ram) schrieb oder zitierte: >Beim /Binden/ wird, wie ich oben ausgeführt hatte, eine >Quelltextentität (der Name) mit einer Laufzeitentität (dem >Objekt) verbunden. >Bei einer /Zuweisung/ (Begriff aus anderen Programmiersprachen) >wird ein Wert (eine Laufzeitentität) in einen Wertspeicher >(ebenfalls eine Laufzeitentität!) geschrieben. Hierzu vergleiche auch diesen Auszug aus "Compilers" von Aho: |Another important distinction we must make when discussing |programming languages is whether changes occurring as the |program runs affect the values of data elements or affect the |interpretation of names for that data. . Werden Werte von Laufzeitobjekten verändert (Zuweisung) oder die Interpretation von Namen (Bindung)? In der Nähe steht dann: | environment state |names --------------> locations --------------> values | (variables) |Figure 1.8: Two-stage mapping from names to values . In einer Programmiersprache wie C sind Namen durch die Umgebung an Speicherplätze gebunden, die dann durch einen Zustand einen Wert erhalten. Für Python könnte man diese Abbildung so modifizieren: binding state names --------------> object --------------> values . Namen sind an Objekte gebunden, die dann einen Wert haben können. Zum Beispiel in Python: import tkinter; tkinter.Tk().withdraw() va = tkinter.IntVar( value=1 ) vb = tkinter.IntVar( value=2 ) # 1. Umbindung (mit "=") des Namens # Änderung der Umgebung (Bindung des Namens "n") # Zustand der beiden Variablen bleibt unverändert n = va; print( n.get() ) # Ausgabe: 1 n = vb; print( n.get() ) # Ausgabe: 2 # 2. Zuweisung (mit "set") an die Variable # Änderung des Zustandes # Bindung des Namens "n" wird nicht verändert n = va va.set( 1 ); print( n.get() ) # Ausgabe: 1 va.set( 2 ); print( n.get() ) # Ausgabe: 2 . In C kann man Namen (innerhalb eines Gültigkeitsbereichs) hingegen nicht umbinden, sondern nur etwas an deren Objekt zuweisen, wofür dann in C "=" verwendet wird. _______________________________________________ python-de Mailingliste -- [email protected] Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an [email protected] https://mail.python.org/mailman3/lists/python-de.python.org/ Mitgliedsadresse: [email protected]