![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=1739262795-k86a2eViZC164VbuvK8ZDH8EQvhBkrVC-0-164ae77d326b96c903436600bcdb7cc7)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer981.jpg?sign=1739262795-QoftJGDfpv9uJcvVrPSDcXS2rmUgSylX-0-c33c81f54299e41dbfabbe61dc1661f3)
在程序实例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=1739262795-CZGkj3T2cPoUdGJiMWxFFWI4xPwkTrPv-0-82a1d01707d2e53f0f6c5ffcc70a7779)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer983.jpg?sign=1739262795-WSVsFkThIgejK5ZaMpN4As0ePYjwOwAJ-0-e24e5d92372144ab668a241f61dd9059)
上述变量y,由于是整数与浮点数的加法,所以结果是浮点数。此外,某一个变量如果是整数,但是如果最后所存储的值是浮点数,Python也会将此变量转换成浮点数。
程序实例ch3_4.py:整数转换成浮点数的应用。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer984.jpg?sign=1739262795-Iw9dqavEp4pZ32ECdzkDUlsSBAoCQ9OQ-0-7d2891bafbd2dbf6bffeb4e15232c44e)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer985.jpg?sign=1739262795-5JuLcAjej5XWQU1zMrLVUuEujYT48PQ2-0-f4bd5d716f1761cadaa626cbba645b90)
原先变量x所存储的值是整数,所以列出的是整数。后来存储了浮点数,所以列出的是浮点数。
3-2-2 二进制整数与函数bin()
我们可以用二进制方式代表整数,Python中定义凡是以0b开头的数字,代表这是二进制的整数。
bin()函数可以将一般数字转换为二进制。
程序实例ch3_5.py:将十进制数值与二进制数值互转的应用。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1006.jpg?sign=1739262795-nsSADk451bjqeHrka7E0lsSPDWKjlsKn-0-1a93c7971427966a8c048f897e988fba)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1007.jpg?sign=1739262795-Z6pJQdPeYmm9yjUoivWfwLV4bWDJIgQz-0-382577be177582c57703c6941d91c626)
3-2-3 八进制整数
我们可以用八进制方式代表整数,Python中定义凡是以0o开头的数字,代表这是八进制的整数。
oct()函数可以将一般数字转换为八进制。
程序实例ch3_6.py:将十进制数值与八进制数值互转的应用。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1008.jpg?sign=1739262795-LqiemnR5KWqde1oQWvKbjBmBDwr39eRf-0-9aafa5edd47e569b24c88da45054246b)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1009.jpg?sign=1739262795-efTWWvINs3KSPLWIZjnKsWAuvWufBNfZ-0-0b851ed83d358cb9ebfc2ff39df39881)
3-2-4 十六进制整数
我们可以用十六进制方式代表整数,Python中定义凡是以0x开头的数字,代表这是十六进制的整数。
hex()函数可以将一般数字转换为十六进制。
程序实例ch3_7.py:将十六进制数值与十进制数值互转的应用。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1010.jpg?sign=1739262795-QGQMFvrodTdj2rXPL7DjmmlbcBYK8eUK-0-0c1f54b0dab88b70adf9fdbf759497ce)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1043.jpg?sign=1739262795-p0uJScIP5ue7b4a8ld7ho28oox2aupik-0-194e68d58c001d04980d4b659a10f2e7)
3-2-5 强制数据类型的转换
有时候我们设计程序时,可以自行强制使用下列函数,转换变量的数据类型。
int():将数据类型强制转换为整数。
float():将数据类型强制转换为浮点数。
程序实例ch3_8.py:将浮点数强制转换为整数的运算。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1044.jpg?sign=1739262795-1wsOsAaycSvbiKgnczk0UbWlgtW5pM5J-0-2cb6dae22626a86b2034208e237cd5a5)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1045.jpg?sign=1739262795-1SIoH1XPDQnLhKpuw63GptFUzO6pzeqg-0-c6523af87445b229d2a4306a0eb07c5a)
程序实例ch3_9.py:将整数强制转换为浮点数的运算。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1046.jpg?sign=1739262795-n1T5wm2d2bzpZmvnh6WTo0AiV3Zl0Dbf-0-8015004ad7a201335d8557b3f7f3571b)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1047.jpg?sign=1739262795-5mzxWUgzwNqaYpUuV10aUB8nHowDRpOM-0-383b45ac6e9afe91753b9097bf7008a2)
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=1739262795-fLVV6P9PyH2BdFH4OY5lYI1dWJOHX3dq-0-f57c2407688e8bea506d15c15af99a57)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1076.jpg?sign=1739262795-7eNU9xYVngQjY3tIMtZJhb7hjW4UP4OK-0-c598667bea3847811e5e48fe51dcbf89)
3-2-7 eval()函数
eval()函数可执行一个字符串的数学表达式,然后返回数学表达式的值。
程序实例ch3_10_1.py:使用eval()函数执行计算结果的应用。
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1077.jpg?sign=1739262795-gQvZ55OmuqSJPIk89gFquHCkG2Nt4Y8W-0-b67fc077277d5d5e75b84a368af59f95)
执行结果
![](https://epubservercos.yuewen.com/FA4957/17035792704284606/epubprivate/OEBPS/Images/figer1078.jpg?sign=1739262795-gNasxvUd6iGbXPpPqK5YLjVqAKpocqZw-0-9b91e3cb576f98f4eaf2c4ff49ea7c3b)
这个功能很有帮助,例如,要设计计算器程序(Calculator),可以使用字符串方式记录所输入的计算式,再直接使用eval()函数输出执行结果。