ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

一次搞懂 Python 类型判断 | 两个工具带你查清数据类型

一次搞懂 Python 类型判断 | 两个工具带你查清数据类型 【Python案例】数据类型侦探 —— 类型判断案例需求请当一次“数据类型侦探”准备一个包含 5 种数据的列表列表中的数据如下10、3.14、Python、True、None依次打印每个数据的类型要求打印干净的类型名不要class ...那一整串用isinstance()判断10是不是整数、True是不是整数、3.14是不是浮点数并打印结果。案例实现第 1 步准备好要“侦查”的数据先定义一个列表data把10、3.14、Python、True、None这 5 个数据装进去。data[10,3.14,Python,True,None]第 2 步使用for循环逐个查看。type(item).__name__能直接取出数据类型的名字。foritemindata:print(item,-,type(item).__name__)第 3 步使用isinstance(数据, 类型)做判断结果只有True或False两种情况。print(isinstance(10,int))print(isinstance(True,int))print(isinstance(3.14,float))完整代码data[10,3.14,Python,True,None]foritemindata:print(item,-,type(item).__name__)print(isinstance(10,int))print(isinstance(True,int))print(isinstance(3.14,float))运行结果10 - int 3.14 - float Python - str True - bool None - NoneType True True True案例解析type()与.__name__type(item)返回的是类型对象打印输出的是class int加上.__name__就只取出数据类型的名字例如int输出更清爽。isinstance(数据, 类型)用来判断“这个数据是不是这种类型”返回True或False。它是用来做类型判断的而不是用来查看数据类型更适合写在条件里。有意思的一点isinstance(True, int)结果是True。因为布尔值本质上是一种特殊的整数True等于 1False等于 0。None的类型None表示“什么都没有”它的类型名是NoneType和int、str一样是 Python 内置的一种类型。相关练习一、题目1.选择题下列表达式的结果为True的是 。A.isinstance(5, int)B.isinstance(5, int)C.isinstance(5, str)D.isinstance(5.0, int)2.填空题表达式type(True).__name__的结果是________。3.判断题isinstance(True, int)的结果是True。 4.简答题已知v 3.14请写出一行代码判断v是不是浮点数并打印判断结果。二、参考答案与解析1. 答案B解析5是整数所以isinstance(5, int)为True。A 选项5是字符串C 选项5是整数不是字符串D 选项5.0是浮点数、不是整数。2. 答案bool解析True是布尔值type(True)是布尔类型对象再用.__name__取名字得到bool。3. 答案正确√解析布尔类型是整数的一种特殊形式True在数值上等于 1所以判断“它是不是整数”会得到True。4. 答案print(isinstance(v,float))解析isinstance(数据, 类型)返回布尔结果套在print()里即可打印True或False。声明本文部分内容由人工智能辅助生成。
返回列表