Python中的type()
函数主要用于获取对象类型或动态创建类,其核心功能分为两类:单参数形式返回对象类型,三参数形式动态生成新类对象。 以下通过典型场景举例说明其用法:
-
获取对象类型
直接调用type(对象)
可快速判断变量类型,例如:python复制
print(type(10)) # 输出:<class 'int'> print(type([1, 2])) # 输出:<class 'list'>
适用于调试或类型校验,但需注意与
isinstance()
的区别:type()
严格匹配类型,不识别继承关系。 -
动态创建类
通过type(类名, 基类元组, 属性字典)
可运行时生成新类:python复制
Person = type('Person', (), {'name': '默认值', 'greet': lambda self: f"你好,{self.name}"}) p = Person() p.name = "张三" print(p.greet()) # 输出:你好,张三
此方式常用于元编程或框架设计,灵活扩展类结构。
-
类型校验与错误处理
结合异常抛出,明确提示类型错误:python复制
def process_str(s): if not isinstance(s, str): raise TypeError(f"需字符串类型,实际传入{type(s).__name__}") return s.upper()
提示:优先用isinstance()
检查类型以兼容继承,而动态类创建需谨慎维护代码可读性。合理选择场景能显著提升代码灵活性。