Seite 1 von 1
					
				Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 15:32
				von Kamik423
				Code: Alles auswählen
>>> 4.type
"int"
>>> "text".type
"String"
>>> (1, "text").type
"list"
Gibts das- oder etwas vergleichliches?
 
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 15:38
				von BlackJack
				@Kamik423: Ja, aber das will man in der Regel nicht machen.  Warum denkst Du das zu brauchen?
(Bei 5. würde man wohl eher `tuple` erwarten statt `list`.)
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 15:52
				von /me
				Kamik423 hat geschrieben:Gibts das- oder etwas vergleichliches?
Hast du mal in der Python-Dokumentation nach 
type gesucht?
 
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 16:05
				von Namitz243
				hi kamik, 
ich versteh deine Frage nicht ganz aber die einstgsten richtigen Datentypen in Python sind 
str (alle texte)
int (ganze zahlen)
float (kommazahlen)
listen und ähnliches sind keine richtigen Datentypen
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 16:26
				von jerch
				Namitz243 hat geschrieben:listen und ähnliches sind keine richtigen Datentypen
Wuss? Wie kommst du denn darauf? Was sind Deiner Meinung nach "richtige" Datentypen?
Namitz243 hat geschrieben:str (alle texte)
Da gibst mindestens noch Unicodestrings bzw. für Python3 Bytesstrings.
Namitz243 hat geschrieben:int (ganze zahlen)
 Was ist mit long?
Namitz243 hat geschrieben:float (kommazahlen)
 Jepp und Decimal sind auch "Kommazahlen".
 
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 16:53
				von BlackJack
				@Namitz243: Die Aussage ist Unsinn.  Du deckst nicht einmal die „eingebauten” Datentypen ab, wo zum Beispiel auch `bool`, `NoneType`, und `complex` zu gehören, sondern natürlich ist `list` auch ein richtiger Datentyp.  Sowie alles was mittels `class` definiert wurde.
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 17:08
				von snafu
				Namitz243 hat geschrieben:hi kamik, 
ich versteh deine Frage nicht ganz aber die einstgsten richtigen Datentypen in Python sind 
str (alle texte)
int (ganze zahlen)
float (kommazahlen)
listen und ähnliches sind keine richtigen Datentypen
Ist das der Versuch, das Konzept der primitiven Datentypen in Java (die übrigens auch nicht "richtiger" sind als alle anderen Java-Typen) auf Python zu übertragen, oder wie kommst du zu dieser Aussage?
 
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 17:46
				von Kamik423
				Ja, das mit list/tuple war ein schreibfehler.
Gibt es etwas das nach variablentyp testen kann? 
Ich möchte einfach nur einen String output oder etwas vergleichliches habem, das mir den datentyp angibt.
Was ist dieses .type? Ich habe es nur als "platzhalter" verwendet, und werde aus der dokumentation nicht ganz schlau 

Die angegebenen waren auch nur beispiele. Es wäre großartig, wenn das für alle datentypen funktionieren würde
 
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 17:52
				von /me
				Kamik423 hat geschrieben:Was ist dieses .type? Ich habe es nur als "platzhalter" verwendet, und werde aus der dokumentation nicht ganz schlau 

 
So schwierig ist die Dokumentation ja nun eigentlich nicht.
Code: Alles auswählen
>>> print(type(4))
<class 'int'>
>>> print(type('text'))
<class 'str'>
>>> print(type([]))
<class 'list'>
>>> print(type(type('x')))
<class 'type'>
 
 
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 17:55
				von Kamik423
				Und was kann ich mit diesem "type-type" anfangen? Kann ich das in einen string umwandeln (irgendwie)
Und vielen dank nochmal!
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 18:15
				von cofi
				Ich versuch es nochmal: Was willst du eigentlich machen?
Wenn man Code schreibt, der sich an einem konkreten Typ orientiert macht man im allgemeinen etwas falsch oder kaempft gegen die Sprache selbst.
Will man das Programmverhalten abhaengig von Typen machen, ist man mit `isinstance` besser beraten (oder noch besser: man benutzt Objektorientierung oder Ducktyping/Protokolle). Aber auch hier braucht man keinen String.
Und dann kann man mit `str` alles in einen String umwandeln .. ob das Sinn macht ist ein anderes Thema.
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 19:15
				von Kamik423
				Es geht hierbei um daten die ich aus einer .txt datei importiere. Ich muss die verarbeiten können.
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 19:27
				von EyDu
				Das ist doch kein Grund für einen Test auf Typen.
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 19:36
				von BlackJack
				@Kamik423: Aus einer Textdatei bekommt man nur `str` oder `unicode` (Python 2) beziehungsweise `bytes` oder `str` (Python 3).  Diesen Text kann man dann irgendwie geeignet in Werte mit anderen Datentypen parsen.  Aber da muss man *vorher* ja schon wissen in *was* für einen Typ man die entsprechenden Teile des Textes parsen will, und nicht hinter den Wert testen.
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 20:35
				von cofi
				EyDu hat geschrieben:Das ist doch kein Grund für einen Test auf Typen.
Aber so kann man den Datentyp abspeichern 
@Kamik423: Ganz ehrlich: Du willst JSON oder pickle benutzen.
 
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 20:39
				von Kamik423
				Ja aber wenn ich den string "74656" kriege möchte ich das in einen int parsen, und muss dafür wissen, dass es ein int ist.
Der string "[1701,74205]" sollte eine liste sein [1701,74206]
Und dazu muss ich den datentyp zusätzlich abspeichern, den ich aber irgendwie ausfinden will.
Was sind json und pickle, ich kenne nur das normale open() und readlines()
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Freitag 16. Mai 2014, 20:47
				von EyDu
				Kamik423 hat geschrieben:Ja aber wenn ich den string "74656" kriege möchte ich das in einen int parsen, und muss dafür wissen, dass es ein int ist.
Nicht, wenn du ein vernünftiges Format wählst. Dann musst du gar nichts selber machen.
Kamik423 hat geschrieben:Was sind json und pickle, ich kenne nur das normale open() und readlines()
Es gibt Suchmaschinen und Dokumentation zu den Modulen.
 
			 
			
					
				Re: Für variablen typ testen
				Verfasst: Sonntag 18. Mai 2014, 21:53
				von bfm
				Hi,
schau mal hier in der Doku zu Python 3.3:  
https://docs.python.org/3.3/library/std ... ng-methods
Mit str.isdigit() kannst zB testen, ob in dem String nur Zahlen enthalten sind und wenn nicht entsprechend reagieren.