二、算术运算符
对于数值型数据,常见的算术运算有加法、减法、乘法、除法,以及求幂和取模等,这些运算所对应的运算符分别为:
加法运算符:+,例如代数表达式2+3的Python表达式为2 + 3;
减法运算符:-,例如代数表达式2-3的Python表达式为2 - 3;
乘法运算符:*,例如代数表达式2×3的Python表达式为2 * 3;
除法运算符:/和//,例如代数表达式2÷3的Python表达式为2 / 3或2 // 3;
求幂运算符:**,例如代数表达式23的Python表达式为2 ** 3;
取模运算符:%,例如代数表达式2mod3的Python表达式为2 % 3;
在早期的版本中,Python只有一个除法运算符即/,该运算符既用于整除法,又用于真除法,这由参与运算的操作数的类型决定。具体而言,如果操作数皆为整数,那么就进行整除法运算,即两数相除后之后,只取其商的整数部分,并丢弃小数部分,不进行进位处理;此外,如果操作数中只要有一个为浮点数,那么就进行真除法运算,即得到的结果是一个精确的浮点数,包括小数点之后的数字。
从Python2.2开始,除法运算符除了/之外,又引入了一个除法运算符://,后一种运算符只用于进行整除法。对于除法运算符/,默认时的行为跟Python2.2之前的一样,它视操作数而定,既可以进行整除,也可以进行真除法。如果想让这两个运算符有一个明确的分工,即/只用于真除法,而//仅用于整除法的话,需要作以下声明:
from __future__ import division |
下图显示了两种除法运算符在作以上声明前后的区别:
| 图3:两种除法运算符的用法举例 |
如上图所示,在声明之前,对表达式2/3进行计算时,结果为0,这是因为参加运算的两个操作数都是整数,所以运算符/进行的是整除法,但是表达式2.0/3的结果却是0.66666666666666663,这是因为操作数中的2.0是浮点数,所以运算符/进行的是真除法。表达式2//3和2.0//3进行求值时,进行的都是整除法,只不过返回值一个是整型,一个是浮点型而已。当我们用import语句进行相应的声明后,除法运算符/只能用于真除法,所以此时2/3和2.0//3的返回值都是0.66666666666666663。
| 共4页: 上一页 [1] 2 [3] [4] 下一页 | ||||||
|