datentype

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
kostonstyle
User
Beiträge: 148
Registriert: Sonntag 2. November 2008, 12:13

hallo
wollte fragen, bei der variablendefinition muss man den Datentyp angeben, z. B. int a = 23232?

danke kostonstyle
busfahrer
User
Beiträge: 111
Registriert: Donnerstag 9. Oktober 2008, 17:42

Hallo

nein,muss man nicht.Es reicht ein

Code: Alles auswählen

a = 23232
Gruß...busfahrer
Alles wird gut ;-)
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

Nein, muss man nicht. Python ist eine dynamische typisierte Sprache. Die Objekte - zum Beispiel ein Integer mit dem Wert 12345 - liegen im Speicher. Die "Variable" a ist ist hier lediglich ein Verweis/Referenz auf dieses Objekt.

Es reicht daher:

Code: Alles auswählen

a = 23232
Bei einer erneuten Zuweisung von a würde lediglich die Referenz "verbogen". Die "Variable" verweist auf ein anderes Objekt.

Code: Alles auswählen

a = "Hallo Welt"
a = u"Hallo Welt"
a = 12.34
oder explizit ein eigenes Objekt

Code: Alles auswählen

a = MeineKlasse()
Grüße... Heiko
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

kostonstyle hat geschrieben:bei der variablendefinition muss man den Datentyp angeben, z. B. int a = 23232?
Probier es doch aus, der Interpreter wird dir sofort sagen ob es funktioniert oder nicht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
snafu
User
Beiträge: 6880
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

"Es reicht" klingt so, als könne man das `int` optional dazusetzen. Das ist aber falsch, denn man würde einen SyntaxError bekommen. Was wohl geht - aber aus den bereits von bwbg genannten Gründen erstmal ziemlich unsinnig ist -, wäre:

Code: Alles auswählen

a = int(23232)
Es kann aber in bestimmten Fällen schon nötig sein, explizit eine solche Umrechnung zu machen.

Code: Alles auswählen

>>> 10 / 3
3
>>> 10.0 / 3
3.3333333333333335
>>> int(10.0 / 3)
3
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

@snafu: Ab Python 3.0 gibt's das Problem so nicht mehr, vorher sollte man

Code: Alles auswählen

from __future__ import division
benutzen.
Antworten