零基础入门学习Python(5)--闲聊之Python的数据类型

mac2022-06-30  63

前言

本次主要闲聊一下python的一些数值类型,整型(int),浮点型(float),布尔类型(bool),还有e记法(科学计数法),也是属于浮点型。

数值类型介绍

整型 整型就是我们平时所说的整数。python3的整型已经和长整型进行了无缝结合,长度不受限制,python3很容易实现大数运算。 python2的长整型后面要加上L浮点型 浮点型也就是平常我们所说的小数,例如我们的圆周率3.14,python区分整型与浮点型的唯一方式就是看有没有小数点e记法 e记法就是我们平时所说的科学计数法,用来表示特别大或者特别小的数,例如: >>> 0.00000078 7.8e-07 这个e,就是e记法的意思 地球到太阳的距离是1.5亿公里,转换成米,就是:150000000000 写成e记法就是: >>> 1.5e11 150000000000.0 大家可以看出来e=10,后面跟的数字就是几次方的意思,例如说15000,就可以表示成: >>> 1.5 * (10**4) 15000.0 >>> 1.5e4 15000.0 布尔类型 特殊的整型。True相当于整数1,False相当于整数0,例如: >>> True + True 2 >>> True + False 1 >>> 0 + True 1 >>> True * False 0 >>> True / False Traceback (most recent call last): File "<pyshell#17>", line 1, in <module> True / False ZeroDivisionError: division by zero >>> 错误原因:除数不能为0

数值类型转换

整数(int) 整数:int() >>> a= '520' >>> b = int(a) >>> b 520 >>> a = '小甲鱼' >>> c = int(a) Traceback (most recent call last): File "<pyshell#28>", line 1, in <module> c = int(a) ValueError: invalid literal for int() with base 10: '小甲鱼' 错误原因是:字符编码不符合 >>> a = 5.99 >>> c = int(a) >>> c 5 浮点数转换成整数,python会采取把小数点后面的数字截断处理,因为这样效率高 浮点数:float() 浮点数:float() >>> a = 520 >>> b = float(a) >>> b 520.0 >>> a = '520' >>> b = float(a) >>> b 520.0 字符串:str() 字符串:str() 将一个数,或任何其他类型转换成字符串,例如: >>> a = 5.99 >>> b = str(a) >>> b '5.99' >>> a = True >>> b = str(a) >>> b 'True' >>> a = True + True >>> b = str(a) >>> b '2' >>> c = str(5e19) >>> c '5e+19'

获取类型信息

type()函数 python提供了type()函数,来得到数据的类型。 >>> type(a) <class 'str'> >>> >>> a = 5.2 >>> type(a) <class 'float'> >>> >>> type(True) <class 'bool'> >>> >>> type(5e19) <class 'float'> >>> >>> type(1) <class 'int'> isinstance()函数 python更推荐使用isinstance()函数,来得到数据类型,例如: >>> a = '小甲鱼' >>> >>> isinstance(a,str) True >>> isinstance(a,int) False >>> isinstance(1,bool) False 意思就是说,这两者类型一致,就返回True,不一致返回False

练练手

判断给定年份是否为闰年。

闰年是这样定义的: 普通年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年); 世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年);

第一种写法: temp = input('请输入一个年份:') while not temp.isdigit(): temp = input("抱歉,您的输入有误,请输入一个整数:") year = int(temp) if year/400 == int(year/400): print(temp + ' 是闰年!') else: if (year/4 == int(year/4)) and (year/100 != int(year/100)): print(temp + ' 是闰年!') else: print(temp + ' 不是闰年!') 第二种写法: temp = input("请输入一个年份:") while True: if temp.isdigit(): year = int(temp) if (year/400) == int(year/400): print(year,"为闰年") else: if ((year/4) == int(year/4)) and ((year/100) != int(year/100)): print(year,"为闰年") else: print(year,"不为闰年") break else: temp=input("您输入的有误,请重新输入:")

转载于:https://www.cnblogs.com/wanbin/p/9514708.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)