def NULL_not_found(object: any) -> int: nullType = type(object) match object: case None: print("Nothing:", object, nullType) # using a guard : # https://docs.python.org/3/reference/compound_stmts.html#guards # (NaN == NaN) = false : # https://docs.python.org/3.10/reference/expressions.html#value-comparisons # "A counter-intuitive implication is that not-a-number values are not # equal to themselves" case float() if object != object: print("Cheese:", object, nullType) # need check before int(), why ? case bool() if object is False: print("Fake:", object, nullType) case int() if object == 0: print("Zero:", object, nullType) case str() if object == '': print("Empty:", nullType) case _: print("Type not Found") return 1 return 0