我有一个函数可以推断文本文件的某些参数的类型。其中一些确实已经有了初始值,因为有些值不可能从一开始就设置一个合理的值(它用于 webgui)。所以我想不返回任何内容(我猜是“无”)作为值,但想设置类型,例如整型、浮点型、字符串型、..
很想在那里获得一些帮助。这有可能吗?
这是我到目前为止所拥有的:
def infer_type(val: str):
try:
return "int32", int(val)
except ValueError:
pass
try:
return "float64", float(val)
except ValueError:
pass
if val is None:
val = ""
return "string", val
但问题是,所有 None 值都只是设置为“string”类型,并以“”作为初始值,但我希望它们具有正确的类型。希望这是可以理解的。
你可以从一开始就处理“无”:
def infer_type(val):
if val is None:
return "None", None
try:
return "int32", int(val)
except ValueError:
pass
try:
return "float64", float(val)
except ValueError:
pass
return "string", str(val)