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 + '不是闰年')