1.整型
整型也就是平时所说的整数,python的整型长度不受限制,如果非要有个限制的话,只限于计算机的虚拟内存总数,所以使用python3很容易进行大数的计算-大数据计算
2.浮点型
浮点型就是平时所说的小数,例如圆周率3.14就是浮点型,python区分整形和浮点型的唯一方式,就是看有没有小数点
E记法:科学计数法,用于特别大和特别小的数
>>> a = 0.000000000000000000000000025 >>> a 2.5e-26
3.布尔类型
事实上布尔类型是特殊的整型,布尔类型用True和False表示真和假,但布尔类型可以当作整数对待,True的整型值为1,False的整型值0,可以进行运算
>>> True + False 1 >>> True + True 2 >>> True/False Traceback (most recent call last): File "<stdin>", line 1, in <module> ZeroDivisionError: division by zero >>>
4.类型转换
接下来介绍几种跟数据类型相关的函数:int()、float()和str()
① int的作用是将一个字符串和浮点数转换为整数
>>> a = '1314' >>> b = int(a) >>> a,b ('1314', 1314) >>> c = 8.88 >>> d =int(c) >>> c,d (8.88, 8) >>>
注意:浮点数转换为整数,那么python会采取“截断”处理,就是把小数点后的数据直接砍掉,不是四舍五入
② float的作用是将一个字符串或整数转换为浮点数
>>> a = '1314' >>> b = float(a) >>> a,b ('1314', 1314.0) >>> c = 1314 >>> d = float(c) >>> c,d (1314, 1314.0) >>>
③ str的作用是将一个数或任意其他类型转换成一个字符串
>>> a = 5.99 >>> b = str(a) >>> a,b (5.99, '5.99') >>> c = str(6e10) >>> c '60000000000.0'
5.获得关于类型的信息
① type()函数:可以告诉我们变量的数据类型
>>> type('1314') <class 'str'> >>> type(520) <class 'int'> >>> type(5.20) <class 'float'> >>> type(5e20) <class 'float'> >>> type(True) <class 'bool'> >>>
② isinstance()函数:这个BIF函数有两个参数,第一个是待确定类型的数据,第二个是指定一个数据类型
ininstance()会根据两个参数返回一个布尔类型的值,True表示类型一致,False表示类型不一致
>>> a = "妹子" >>> isinstance(a,str) True >>> isinstance(520,float) False >>> isinstance(520,int) True >>>
作业题:
1.在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?
bool表示布尔类型
float表示浮点型
str表示字符串类型
2.你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?
编程语言最终都是转换为二进制序列给CPU按照一定规则进行解析,由于二进制只有1和0,直接表示False和True最合适,不用浪费在资源转换上面
3.使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?
python会采取“截断”处理,向下取整,就是把小数点后的数据直接砍掉
4.我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?
5.4 四舍五入的结果是:int(5.4 + 0.5) = 5
5.6四舍五入的结果是:int(5.6 + 0.5) = 6
5.取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你更倾向于使用哪个?
建议使用isinstance(),返回结果比较直接,有对比性
6.Python3 可以给变量命名中文名,知道为什么吗?
因为python3源文件默认使用utf-8编码方式
动手写程序:
1.写一个程序,判断给定年份是否是闰年
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 + '不是闰年')