python转换类型为参数的变量

时间:2017-09-26 12:05:44

标签: python types casting

是否有一个转换函数,它将变量和类型都转换为?如:

cast_var = cast_fn(original_var, type_to_cast_to)

我想用它作为循环查找从字符串解析的输入参数列表的有效方法,有些需要转换为int,bool,float等......

2 个答案:

答案 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'