![Python入门很简单](https://wfqqreader-1252317822.image.myqcloud.com/cover/196/31476196/b_31476196.jpg)
3-2 数值数据类型
Python在声明变量时可以不用设置这个变量的数据类型,如果这个变量内容是放整数,这个变量就是整数(int)数据类型,如果这个变量内容是放浮点数,这个变量就是浮点数数据类型。整数与浮点数最大的区别是:整数不含小数点,浮点数含小数点。
程序实例ch3_2.py:测试浮点数。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer942.jpg?sign=1738867100-vpsLpxAjtOxuZjdKfJRibvpZXonxciwt-0-243f648aa5908a543f34dc7da0a93e61)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer981.jpg?sign=1738867100-GDFCYttOyMb7PNQPUZnNtjPWmBGFVg7W-0-9c0955b463ead6f206b2e2f1784a63a8)
在程序实例ch3_1.py中,x变量的值是10,列出x变量是整型变量,在这个实例中,x变量的值是10.0,列出x变量是浮点型变量。
3-2-1 整数与浮点数的运算
Python程序设计时不相同的数据类型也可以执行运算,程序设计时常会发生整数与浮点数之间的数据运算,Python具有简单的自动转换能力,在计算时会将整数转换为浮点数再执行运算。
程序实例ch3_3.py:不同数据类型的运算。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer982.jpg?sign=1738867100-7Af07mBSs2syhM67gW0HLWBUSs61rApq-0-e0e9081a169b1f3d3a8dcff63a7ed307)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer983.jpg?sign=1738867100-zraaUWf83rXwH6dnBovxwq5h3DhzDzW2-0-da249e448798d8e584db6f6320c2ec78)
上述变量y,由于是整数与浮点数的加法,所以结果是浮点数。此外,某一个变量如果是整数,但是如果最后所存储的值是浮点数,Python也会将此变量转换成浮点数。
程序实例ch3_4.py:整数转换成浮点数的应用。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer984.jpg?sign=1738867100-BkaxtlMKKl7HUt6QYKHgcQL0YhmAwSIZ-0-c57c9a0f0fc088a7df987a7103225e3f)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer985.jpg?sign=1738867100-bp8p6pzTwML2xGJIDY49JvmSTPnTCaGN-0-09374c0591da790b9824e03dcebc6a99)
原先变量x所存储的值是整数,所以列出的是整数。后来存储了浮点数,所以列出的是浮点数。
3-2-2 二进制整数与函数bin()
我们可以用二进制方式代表整数,Python中定义凡是以0b开头的数字,代表这是二进制的整数。
bin()函数可以将一般数字转换为二进制。
程序实例ch3_5.py:将十进制数值与二进制数值互转的应用。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1006.jpg?sign=1738867100-IIxBoPcUIjO1YKQ8EK7QjKjKEumi7ENQ-0-502f7d4dd6f93564ea54ea9f42ac0c56)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1007.jpg?sign=1738867100-3wneJv9ICtEyCitUJPOWS63poe5cHeQE-0-3bda4bffc1d61b9b8d615f33ae7719a0)
3-2-3 八进制整数
我们可以用八进制方式代表整数,Python中定义凡是以0o开头的数字,代表这是八进制的整数。
oct()函数可以将一般数字转换为八进制。
程序实例ch3_6.py:将十进制数值与八进制数值互转的应用。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1008.jpg?sign=1738867100-8h7Yoat8wsAfNAUEtKb4vIN8F0v82Gzo-0-d1a378e05e48662b12db473825376720)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1009.jpg?sign=1738867100-HBBwOfHKeXFJRXddMNxCYHI2n9Dk7SB9-0-3534ab810ad5d2c072d9ef0d3bc3623f)
3-2-4 十六进制整数
我们可以用十六进制方式代表整数,Python中定义凡是以0x开头的数字,代表这是十六进制的整数。
hex()函数可以将一般数字转换为十六进制。
程序实例ch3_7.py:将十六进制数值与十进制数值互转的应用。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1010.jpg?sign=1738867100-lJBKoCexYTr82OTtRFfVWclbIUwqnaH3-0-bc014e11c07886dd828077bf696b2959)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1043.jpg?sign=1738867100-6FtemPFQGe4xFfbWnBtPBmebI2m9aaqU-0-876aaa40ce77dc830497d849c585724c)
3-2-5 强制数据类型的转换
有时候我们设计程序时,可以自行强制使用下列函数,转换变量的数据类型。
int():将数据类型强制转换为整数。
float():将数据类型强制转换为浮点数。
程序实例ch3_8.py:将浮点数强制转换为整数的运算。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1044.jpg?sign=1738867100-ZyDlo4x0iM1a9XG17MyDMv8iqORtzzGY-0-b08240645e22158c446e259afbf565a5)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1045.jpg?sign=1738867100-7DgUZBTcWMgORqworeb3N2QUkFlcXFmK-0-8ba5db7ee902dad81e66820420df494d)
程序实例ch3_9.py:将整数强制转换为浮点数的运算。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1046.jpg?sign=1738867100-BtV01yAPSmtPf0OA7TvwV6zvo3zPVSvH-0-9e1a8276a7e60b560e6f5021249c7bf8)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1047.jpg?sign=1738867100-eYt6iLBTBwcU0mYHKaUOR3A65UzT1S8Y-0-a7bf0cbe27ec8c885dbe07e65709f1cc)
3-2-6 数值运算常用的函数
下列是数值运算时常用的函数。
(1)abs():计算绝对值。
(2)pow(x,y):返回x的y次方。
(3)round():这是采用演算法则的Bankers Rounding概念,如果处理位数左边是奇数,则使用四舍五入;如果处理位数左边是偶数,则使用五舍六入,例如,round(1.5)=2,round(2.5)=2。
程序实例ch3_10.py:abs()、pow()、round()函数的应用。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1075.jpg?sign=1738867100-ZOJBXqypYGGMk3CFUF1Tdpnn6dxYWXbM-0-96bbe7ca75a6cadac3e7ea2560a5a533)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1076.jpg?sign=1738867100-42dtqDUhMUIrwd0yHNO1EtvCNxetFjPm-0-fb3823fad6b19491e73be48dd16c4ea1)
3-2-7 eval()函数
eval()函数可执行一个字符串的数学表达式,然后返回数学表达式的值。
程序实例ch3_10_1.py:使用eval()函数执行计算结果的应用。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1077.jpg?sign=1738867100-M54I4tRZLp0ncCkrqFVdR3kIVxUsIuug-0-774bbe4e3e4be8cdb9503babf2e1fde8)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1078.jpg?sign=1738867100-JRUy0UPbtxz2sSB6dxysbSb4pMLUIGZd-0-ca2f70fb40b57413d34d8761007f44cb)
这个功能很有帮助,例如,要设计计算器程序(Calculator),可以使用字符串方式记录所输入的计算式,再直接使用eval()函数输出执行结果。