是否有一个转换函数,它将变量和类型都转换为?如:
cast_var = cast_fn(original_var, type_to_cast_to)
我想用它作为循环查找从字符串解析的输入参数列表的有效方法,有些需要转换为int,bool,float等......
答案 0 :(得分:1)
所有Python类型都是可调用的
new_val = int(old_val)
所以不需要特殊功能。实际上,你所要求的只是一个apply
函数
new_val = apply(int, old_val)
存在于Python 2中,但是从Python 3中删除,因为它从来没有必要;任何可以作为apply
的第一个参数传递的表达式总是可以与调用"运算符一起使用":
apply(expr, *args) == expr(*args)
答案 1 :(得分:0)
简答: 这有效:
>>> t = int
>>> s = "9"
>>> t(s)
或者一个完整的例子:
def convert(type_id, value):
return type_id(value)
convert(int, "3") # --> 3
convert(str, 3.0) # --> '3.0'