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.
hubgra
User
Beiträge: 53 Registriert: Donnerstag 20. Juli 2023, 17:20
Sonntag 21. Januar 2024, 16:56
Was ist da los?
Code: Alles auswählen
def f(L):
print(type(L))
if type(L) == 'list':
print('L')
else:
print('else',type(L))
f([1,2])
Ausgabe:
<class 'list'>
else <class 'list'>
Kyrus86
User
Beiträge: 6 Registriert: Samstag 21. Oktober 2023, 13:04
Sonntag 21. Januar 2024, 17:05
Hallo hubgra,
die Funktion "type" liefert den Typ des Objekts zurück, nicht einen String mit der Typbezeichnung.
grubenfox
User
Beiträge: 656 Registriert: Freitag 2. Dezember 2022, 15:49
Sonntag 21. Januar 2024, 17:07
Was soll da los sein?
ist ein anderer String als der String
_______________________________________________________________________________
https://www.python-kurs.eu/index.php
https://learnxinyminutes.com/docs/python/
https://quickref.me/python https://docs.python-guide.org/
https://www.youtube.com/watch?v=qU3Rc6_B9es
Kyrus86
User
Beiträge: 6 Registriert: Samstag 21. Oktober 2023, 13:04
Sonntag 21. Januar 2024, 17:20
Hallo hubgra,
statt mit einem String, vergleicht man direkt mit dem Typ selbst.
Also statt
macht man
sparrow
User
Beiträge: 4665 Registriert: Freitag 17. April 2009, 10:28
Sonntag 21. Januar 2024, 17:37
Ich würde das gar nicht prüfen.
Warum ist es wichtig, ob da eine Liste kommt?
Warum funktioniert an der Stelle dann kein Tuple oder ein anderes iterierbares Objekt?
__blackjack__
User
Beiträge: 14444 Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:
Sonntag 21. Januar 2024, 18:43
Und wenn Typprüfung, dann nicht mit `type()` sondern mit `isinstance()` damit man wenigstens auch abgeleitete Typen nicht ausschliesst. Was ist denn hier der Anwendungsfall?
“Life is too long to know C++ well.” — Erik Naggum
noisefloor
User
Beiträge: 4340 Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:
Sonntag 21. Januar 2024, 18:46
Hallo,
und statt gegen `type()` zu vergleichen prüft man einfacher mit
isinstance , das liefert direkt `True` oder `False` zurück.
Gruß, noisefloor