Python如何使用字符串“int”将字符串转换为int

2024-09-29 17:15:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做的示例:

x = 123
TYPE_TO_CONVERT_TO = 'int'

intx = convert(x, TYPE_TO_CONVERT_TO)

Tags: to示例converttypeintintx
3条回答

您可以自己使用类型,因为它们在实现中包含__call__。你知道吗

def func(x, typ):
    typ = eval(typ)
    return typ(x)

func('12', 'list')
>>> ['1', '2']

func(1, 'str')
>>> '1'

您还可以使用:

t = eval(TYPE_TO_CONVERT_TO)
t('123') # => 123

类型int(和其他内置对象)位于一个特殊的名称空间(模块)中,您可以使用import builtins访问该名称空间。因此,您可以:

intx = getattr(builtins, TYPE_TO_CONVERT_TO)(x)

如果还希望支持在当前模块中定义的类型,可以使用:

intx = (globals().get(TYPE_TO_CONVERT_TO) or getattr(builtins, TYPE_TO_CONVERT_TO))(x)

builtins模块也可以使用__builtins__,但这是一个实现细节。正如aranfey在评论中指出的,import builtins是获得引用的正确方法。你知道吗

相关问题 更多 >

    热门问题