Python 查看数据的类型

机器学习记录

在 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() 函数

可以根据需要选择一种或多种方式来查看对象类型。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年7月11日
下一篇 2023年7月11日

相关推荐