したがって、特定のタイプに値をキャストする必要があります。
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)
私はPython2.7を使用していますが、Python3.Xソリューションにも興味があります。
アップデート:
これが私が使用している解決策です:
class Token:
def __init__(self, type_name, value):
self.type = type_name
self.value = __builtins__[type_name](value) # not safe
これは単なるおもちゃのパーサーです。本番環境では使用しないでください。