下面我们就来逐一讲解Python中的主要运算符,首先是算术运算符。算术运算符是一类用于执行基本数学操作的运算符,通常用于计算数值类型的值。
加、减、乘、除是数学中的基本运算,也是编程中最常用的运算符号。进行运算时,符号的两边可以是变量,也可以是数值。
Python中加法的运算符是“+”。整数型、浮点型这两种表示数字的数据类型进行加法运算时,就是数学意义上的相加。
布尔型也可以进行加法运算,且可以和两种数字数据类型直接进行运算,这是因为布尔型的True和False本质上就是整数1和0。
Python中加法比较特殊的一点是,字符串类型也可以进行加法运算,但仅限于字符串类型之间运算,不能与数字进行运算。
【示例5-1程序】
在编辑器中输入如下示例程序并运行。
第1行:创建一个变量x,并赋值为123。
第2行:将变量x与整数456相加,并输出结果。
第3行:将变量x与浮点数7.89相加,并输出结果。
第4行:将变量x与布尔值True相加,并输出结果。
第5行:将两个字符串相加,并输出结果。
保存并运行程序,结果如图5-1所示。从结果中可以看到,两个字符串相加会按前后顺序拼接成一个新的字符串。
图5-1 示例5-1运行结果
Python中减法的运算符是“-”。减法运算的规则与加法运算基本相同,不同的是,字符串不支持减法运算。
【示例5-2程序】
在编辑器中输入如下示例程序并运行。
第1行:创建一个变量x,并赋值为123。
第2行:将变量x与整数456相减,并输出结果。
第3行:将变量x与浮点数7.89相减,并输出结果。
第4行:将变量x与布尔值True相减,并输出结果。
保存并运行程序,结果如图5-2所示。
图5-2 示例5-2运行结果
Python中乘法的运算符是“*”。对于整数、浮点数、布尔值,乘法运算的效果就是数学中的乘法。另外,字符串可以与整数相乘,结果是将原有的字符串进行重复。
【示例5-3程序】
在编辑器中输入如下示例程序并运行。
第1行:创建一个变量x,并赋值为123。
第2行:将变量x与整数456相乘,并输出结果。
第3行:将变量x与浮点数7.89相乘,并输出结果。
第4行:将变量x与布尔值False相乘,并输出结果。
第5行:将字符串与整数相乘,并输出结果。
保存并运行程序,结果如图5-3所示。从结果中可以看出,原字符串乘以3之后,变成了原字符串重复3遍的新字符串。
图5-3 示例5-3运行结果
Python中除法的运算符是“/”。对于整数、浮点数、布尔值,除法运算的效果就是数学中的除法。字符串类型不支持除法运算。另外要注意的是,0不能作为除数,否则将出现ZeroDivisionError报错。
【示例5-4程序】
在编辑器中输入如下示例程序并运行。
第1行:创建一个变量x,并赋值为123。
第2行:将变量x与整数3相除,并输出结果。
第3行:将变量x与浮点数7.89相除,并输出结果。
第4行:将变量x与布尔值True相除,并输出结果。
保存并运行程序,结果如图5-4所示。从结果中可以看出,即使可以被整除,Python除法运算的结果仍然是浮点数。
图5-4 示例5-4运行结果
在5.2.4节中我们看到,Python中除法的结果是浮点数。如果希望得到整数结果,可以用整除运算符。
Python中整除的运算符是“//”。整除运算相当于数学中整数相除的商。不过在Python中,浮点数、布尔值也可以进行整除运算,得到的值是除法结果向下取整。如果参与整除运算的两个值中存在浮点数,则结果也是浮点数。其他整除规则与除法相似。
【示例5-5程序】
在编辑器中输入如下示例程序并运行。
第1行:创建一个变量x,并赋值为123。
第2行:将变量x与整数3相整除,并输出结果。
第3行:将变量x与整数4相整除,并输出结果。
第4行:将变量x与浮点数7.89相整除,并输出结果。
第5行:将变量x与布尔值True相整除,并输出结果。
保存并运行程序,结果如图5-5所示。从结果中可以看出,如果运算中存在浮点数,结果的类型就是浮点型。
图5-5 示例5-5运行结果
取模,又称为取余或mod,是与整除相对应的一个运算,相当于数学中整数相除的余数,即被除数=除数×整除结果+取模结果。Python中整除的运算符是“%”。如果参与取模运算的两个值中存在浮点数,则结果也是浮点数。其他规则与除法相似。
【示例5-6程序】
在编辑器中输入如下示例程序并运行。
第1行:创建一个变量x,并赋值为123。
第2行:将变量x与整数3取模,并输出结果。
第3行:将变量x与整数4取模,并输出结果。
第4行:将变量x与浮点数7.89取模,并输出结果。
第5行:将浮点数10.0与整数5取模,并输出结果。
第6行:将变量x与布尔值True取模,并输出结果。
保存并运行程序,结果如图5-6所示。从结果中可以看出,即使可以被整除,但只要运算中存在浮点数,结果也是浮点数。
图5-6 示例5-6运行结果
幂运算是指一个数的指数次方的运算,如2的3次方。Python中幂运算的运算符是“**”,这与很多语言中使用的符号“^”不同。幂运算支持整数型、浮点型和布尔型。
【示例5-7程序】
在编辑器中输入如下示例程序并运行。
第1行:创建一个变量x,并赋值为123。
第2行:计算变量x的2次方,并输出结果。
第3行:计算变量x的0.5次方,并输出结果。
第4行:将变量x与布尔值False进行幂运算,并输出结果。
保存并运行程序,结果如图5-7所示。
图5-7 示例5-7运行结果
以上算术运算符可以在一个表达式中混合使用,计算按照5.1节中说明的优先级顺序进行。
【示例5-8程序】
在编辑器中输入如下示例程序并运行。
第1行:创建一个变量x,并通过一个混合了多种算术运算的表达式对其赋值。
第2行:输出变量x的值。
保存并运行程序,结果如图5-8所示。各位读者可以尝试手算一下变量x的值,看看与程序的输出结果是否一致。
图5-8 示例5-8运行结果