在编程中,经常使用数字来记录游戏得分、表示可视化数据、存储Web应用信息等。Python根据数字的用法以不同的方式处理它们。鉴于整数使用起来最简单,下面就先来看看Python是如何管理它们的。
1.整数
在Python中,可对整数执行加(+)减(-)乘(*)除(/)运算。
>>> 2 + 3 5 >>> 3 - 2 1 >>> 2 * 3 6 >>> 3 / 2 1.5
乘方运算用两个乘号表示
>>> 3 ** 2 9 >>> 3 ** 3 27 >>> 10 ** 6 1000000
也支持运算优先级处理
>>> 2 + 3*4 14 >>> (2 + 3) * 4 20
空格不影响运算过程
2.浮点数
所有带小数点的数字都可以认为是浮点数,通常情况下的运行是正常的。
>>> 0.1 + 0.1 0.2 >>> 0.2 + 0.2 0.4 >>> 2 * 0.1 0.2 >>> 2 * 0.2 0.4
但是,计算结果包含的小数位数是不确定的(由于计算机处理运算方式为二进制的原因)
>>> 0.2 + 0.1 0.30000000000000004 >>> 3 * 0.1 0.30000000000000004
所以,需要忽略多余的小数位数。
3.使用str()避免类型错误
数字和字符串的拼接经常会带来错误,例如
age = 23 message = "Happy " + age + "rd Birthday!" print(message)
运行上面的代码将会报错
Traceback (most recent call last): File "birthday.py", line 2, in <module> message = "Happy " + age + "rd Birthday!" TypeError: Can't convert 'int' object to str implicitly
Python知道,这个变量表示的可能是数值23,也可能是字符2和3。像上面这样在字符串中使用整数时,需要显式地指出你希望Python将这个整数用作字符串。为此,可调用函数str(),它让Python将非字符串值表示为字符串:
age = 23 message = "Happy " + str(age) + "rd Birthday!" print(message)
修改后的输出结果
Happy 23rd Birthday!
4.Python2中的整数
在Python 2中,将两个整数相除得到的结果稍有不同:
>>> python2.7 >>> 3 / 2 1
上方代码的运行结果与Python3中存在差异。在Python 2中,整数除法的结果只包含整数部分,小数部分被删除。请注意,计算整数结果时,采取的方式不是四舍五入,而是将小数部分直接删除。 在Python 2中,若要避免这种情况,务必确保至少有一个操作数为浮点数,这样结果也将为浮点数:
>>> 3 / 2 1 >>> 3.0 / 2 1.5 >>> 3 / 2.0 1.5 >>> 3.0 / 2.0 1.5
从Python 3转而用Python 2或从Python 2转而用Python 3时,这种除法行为常常会令人迷惑。使用或编写同时使用浮点数和整数的代码时,一定要注意这种异常行为。
标签:数字,Python,浮点数,0.2,整数,0.1,message From: https://www.cnblogs.com/waban/p/16953818.html