Vorweg: Bitte nicht über den Sinn einer Typprüfung diskutieren! Ich bin mir sehr wohl über den Sinn oder Unsinn bewusst! Ich kann euch aber nun schlecht erklären wozu ich das brauche, ohne euch den Code zu posten und zu erklären was ich vor habe. Daher frage ich lieber direkt wie man folgendes Problem lösen kann. Falls einige wissen wollen wofür ich das brauche, poste ich gerne meinen bisherigen Code mit einer Erklärung dazu (habe ich ehe irgendwann vor wenn mein Modul fertig ist).
Back2Topic:
Ich brauche an einer stelle ein Type Überprüfung, wonach entschieden wird welch Funktion aufgerufen wird.
Eigentlich macht man das folgendermaßen:
Code: Alles auswählen
if isinstance(options[option], bool):
return self._is_bool(section, option)
[...]
Hmm, andere Ansatz den aber BlackJack ja nicht für gut hält (berechtigterweise!):
Code: Alles auswählen
if str(type(options[option])) == "<type 'bool'>":
return self._is_bool(section, option)
elif str(type(options[option])) == "<type 'int'>":
return self._is_digit(section, option)
[...]
Was für eine Möglichkeit gibt es noch um direkt nur auf den Type hin zu überprüfen? Oder kann man isinstance beibringen das er bool nicht zum Type int und long Zählt? xD
lg