You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何提取变量的构造类型并将其用于转换另一变量的类型

解决方案

Python中可以直接通过内置type()函数获取变量的构造类,不需要操作元类,即可实现你要的动态类型转换需求,无需编写大量类型判断分支。

实现代码

def copyType(destination_var, source_var):
    try:
        # type(source_var) 直接返回源变量对应的类对象
        type_class = type(source_var)
        return type_class(destination_var)
    except:
        raise TypeError

# 测试用例
variable1 = "157"
variable2 = 34
print(type(variable1))
print(type(variable2))

variable2 = copyType(variable2, variable1)
print(type(variable2))

输出结果

<class 'str'>
<class 'int'>
<class 'str'>

原理说明

  • type()传入单个参数时,返回值就是该对象所属的类本身,和直接引用str、int等类对象完全等价,调用该类对象即可执行对应类型的转换逻辑。
  • 该方案同时支持内置类型、自定义类型的转换,只要目标类的构造函数支持传入单个参数即可完成转换,不满足构造条件时会抛出TypeError,符合预期的异常处理逻辑。

内容的提问来源于stack exchange,提问作者Osamoele

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 22:57:03