您的位置:首页 > 财经 > 金融 > 【Python】 判断它是什么数据类型的方法?(常用方法汇总)

【Python】 判断它是什么数据类型的方法?(常用方法汇总)

2024/11/20 10:29:25 来源:https://blog.csdn.net/Meggie35/article/details/140951914  浏览:    关键词:【Python】 判断它是什么数据类型的方法?(常用方法汇总)

我们在获取某个对象的时候,如果不知道这个是什么类型的对象,一般我们用 type 来查询是什么类型:

data = "Hello"
print(type(data))#type():获取对象是什么类型

而一般type返回的基本类型包括:

数值型 int
布尔类型 bool
序列类型(list、tuple)
集合类型(set)
字典类型(dict)
None值
字符串类型(str)
二进制序列类型(bytes)等

如果是要写判断是否是这种类型的时候,可以用isinstance来判断【是】或者【否】,这个时候我们就得知道,常用的数据类型有哪些?

以下是一些常用的数据类型及其判断方法:

  1. 整数 (int): 表示整数值。

    a = 10
    if isinstance(a, int):print("a 是整数型")
    
  2. 浮点数 (float): 表示带有小数点的数值。

    b = 10.1
    if isinstance(b, float):print("b 是浮点数")
    
  3. 字符串 (str): 表示文本数据。

    c = "Hello, World!"
    if isinstance(c, str):print("c 是字符串")
    
  4. 布尔值 (bool): 表示判断是和否的逻辑值 TrueFalse

    d = True
    if isinstance(d, bool):print("d 是布尔值")
    
  5. 列表 (list): 有序的集合,可以包含不同类型的元素,可变序列。

    e = [1, 2, 3]
    if isinstance(e, list):print("e 是列表")
    
  6. 元组 (tuple): 有序的,不可变的数据集合。

    f = (1, 2, 3)
    if isinstance(f, tuple):print("f 是元组")
    
  7. 字典 (dict): 字典,键值对的集合,可变。常用于点对点修改。

    g = {'key': 'value'}
    if isinstance(g, dict):print("g 是字典")
    
  8. 集合 (set): 无序的、唯一元素集。

    h = {1, 2, 3}
    if isinstance(h, set):print("h 是集合")
    
  9. NoneType: 表示无值的特殊类型,其值是 None
    注意:空值的判断不能用isinstance来判断,否则会有下面的问题:

TypeError: isinstance() arg 2 must be a type or tuple of types

所以要用下面的判断方式:

i = None
if i is None:print("i 为空")
  1. 字节序列bytesbytearray
    bytes和bytearray也可以用isinstance() 来做判断
data = b"Hello, World!"
if isinstance(data, bytes):print("data is a bytes")

bytearray:

ba = bytearray([71, 101, 108, 108, 111])  
if isinstance(ba , bytearray):print("ba  是字节序列")

具体关于bytesbytearray的详细说明,可以参考:
【Python】bytes 和 bytearray 到底是什么类型呢?

  1. 自定义类类型: 可以通过自己定义类,来创建新的数据类型。
    我们也可以用isinstance() 函数,去判断某个对象是不是属于自己写的类里面,如果属于则可以进入下一步,这样方便做类的管理。
    class MyClass:passobj = MyClass()
    if isinstance(obj, MyClass):print("obj is an instance of MyClass")
    

通常,isinstance() 函数是进行类型判断的首选方法,因为它支持继承,可以检查一个对象是否是某个类的实例或其子类的实例。而 type() 函数则用于获取对象的确切类型,不考虑继承关系。

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com