在 Python 中,有几种方式可以查看一个对象的数据类型:
1. 使用 type()
直接使用 type()
函数可以查看对象的类型:
>>> type(1) <class 'int'>>>> type([])<class 'list'> >>> type(lambda x: x + 1) <class 'function'>
2. 使用 isinstance()
isinstance()
可以检查一个对象是否为某种类型,或者某个类型的子类:
>>> isinstance(1, int) True>>> isinstance([], list)True>>> isinstance(lambda x: x + 1, function) # function 是 type 的别名 True
3. 检查对象的 __class__
属性
每个对象都有一个 __class__
属性指向创建它的类:
>>> 1.__class__ <class 'int'>>>> [].__class__ <class 'list'>>>> (lambda x: x + 1).__class__<class 'function'>
4. 使用 dir()
我们可以使用 dir()
函数获取对象的属性列表,其中通常都包含 __class__
属性:
>>> dir(1)['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']
可以看到,1.__class__
就在这个列表中。
所以 Python 提供了多种方式检查一个对象的类型,包括:
- type() 函数
- isinstance() 函数
- class 属性
- dir() 函数
可以根据需要选择一种或多种方式来查看对象类型。
来源地址:https://blog.csdn.net/galoiszhou/article/details/130369763