On 09 Jan 2017, at 17:55, Hermann Riemann <nospam.gerct08@hermann-riemann.de> wrote:
Am 09.01.2017 um 15:54 schrieb Dinu Gherman:
Eine Variable wird durch eine Zuweisung definiert. Eine Variable hat keinen Typ, sondern Werte haben einen Typ.
Nein, das stimmt nur für einige Variablentypen wie int in C, wo der Typ durch den compiler im code versteckt wird.
Bei vielen Variablen gehört zum Typ auch ein Descriptor (Beschreiber) Beispiel string, wo der Descriptor Informationen über verwendete Länge und Speicherplatz enthalten.
Ich sehe in Python keinen Descriptor, der z.B. die Länge von Strings angibt. Und ansonsten habe ich den obigen Satz nicht geschrieben. Bitte richtig zitieren!
Wobei der Begriff “Variable” leider häufig sehr vage verwendet wird.
"one man's constant is another man variable"
Es wird einiges klarer, wenn man andere Begriffe benutzt (und auch die jeweilige Rolle mit in Betracht zieht). In der Ausbildung spricht man eher von “Bezeichnern” bzw. “Identifier”.
"Bezeichner" wird auch für Konstante verwendet. Variable haben eher abänderbare Inhalte.
Das macht klarer, dass eine “Variable” letztlich auch nur eine Art Tupel ist, das aus einem Namen und einem Wert besteht. Und, richtig, eine Typ-Information hat nur für die Werte irgendeinen Sinn.
Nein, man kann auch type("") oder type([]) verwenden.
Ja ja, es gibt auch Konstanten und Literale! Und, nein, Konstanten gibt es in Python eigentlich doch nicht. Und, ja, Literale sind ähnlich namenlos wie Lambda-Funktionen. Und, ja, für beides kann man Bezeichner verwenden. Und, nein, man muss aber nicht. Und, nein nein, nein, wenn man das so gar nicht machen will, dann kommt man mit diesem “Nameless Python” vermutlich nicht besonders weit. Gruß, Dinu, dem dieser Thread zu haarspalterisch wird...