type()用于获取对象类型,如type(42)返回,支持类型比较和动态创建类,但类型检查推荐使用isinstance()因其支持继承。

type() 是 Python 中的一个内置函数,主要用于获取对象的数据类型。它能帮助我们了解一个变量或值属于哪种类型,比如整数、字符串、列表、自定义类等。
查看对象的类型
调用 type() 时传入一个对象,它会返回该对象的类型信息:
- type(42) →
- type("hello") →
- type([1,2,3]) →
- type(True) →
返回结果是一个表示类型的 class 对象,而不是字符串。你可以通过比较 type 结果来判断类型:
if type(x) == int:
print("x 是整数")
动态创建类(高级用法)
type() 还可以用来动态创建类。当提供三个参数时:类名、基类元组、属性字典,它会生成一个新的类:
立即学习“Python免费学习笔记(深入)”;
MyClass = type('MyClass', (), {'x': 5, 'say_hello': lambda self: print("Hello")})
obj = MyClass()
obj.say_hello() # 输出:Hello
这种用法在元编程、框架开发中较常见,一般日常编码中较少使用。
与 isinstance 的区别
虽然 type() 能判断类型,但在做类型检查时,推荐使用 isinstance(),因为它支持继承关系:
- isinstance(obj, list)
- isinstance(obj, (str, int, float))
而 type() 只精确匹配当前类型,不识别子类,容易导致误判。
基本上就这些。type 函数主要用途是查看对象类型,也能用于动态建类,但多数时候我们只用它做类型检查和调试。











