所以,我需要将一个值转换为给定的类型:
if 'int' == type_name:
value = int(value)
elif 'str' == type_name:
value = str(value)
...
一般有没有办法做到这一点?例如:
type_instance = get_type_instance(type_name)
value = type_instance(value)
我正在使用 Python 2.7,但也会对 Python 3.X 解决方案感兴趣。
更新:
这是我正在使用的解决方案:
class Token:
def __init__(self, type_name, value):
self.type = type_name
self.value = __builtins__[type_name](value) # not safe
这只是一个玩具解析器。不要在生产中使用!