in meinem Skript Ich bekomme 2 Variablen Val1 und Val2 aus 2 verschiedenen Datenbanken und ich muss sie vergleichen.Vergleich von Variablen mit verschiedenen Typen in Python
Das Problem ist, dass, wenn der Typ der Variablen unterschiedlich ist, die Variablen die gleiche Bedeutung in der Datenbank darstellen können.
So ‚‘ (leerer String oder String enthält nur Leerzeichen) bedeutet dasselbe wie 0 oder 0 oder Keine
Muss ich alle möglichen Kombinationen der Variablentypen überprüfen? Und wie muss ich es tun, um sicher zu sein, dass ich keinen Typ vermisse?
def CompareValues(Val1,Val2,Debug=False):
if Val1 is None and Val2 is float:
if Debug:print('none-float')
if Val2 == 0. : return True
if Val1 is None and Val2 is int:
if Debug:print('none-int')
if Val2 == 0 : return True
if Val1 is None and Val2 is str:
if Debug:print('none-str')
if Val2.strip() == '': return True
[...]
return False
Gibt es einen mehr pythonischen Weg dafür?
'wenn nicht Val1 und nicht Val2:' prüft, ob beide Werte eine von allen falsy Typen sind, ist das, was Sie wollen? –