![]() |
3.1 算术运算符 |
算术运算符(Arithmetic Operator)是程序设计语言中使用率最高的运算符,常用于一些四则运算,像加法运算符、减法运算符、乘法运算符、除法运算符、余数运算符、整除运算符、指数运算符等。+、-、*和/运算符与我们常用的数学运算方法相同,而正负号运算符主要用于表示操作数的正/负值,通常设置常数为正数时可以省略+号,例如“a=5”与“a=+5”的含义是相同的。特别要提醒大家的是,因为负数也是使用“-”运算符来表示的,当负数参与减法运算时,为了避免与减法运算符混淆,最好用小括号“()”分隔开负数。
表3-1列出了Python的各种算术运算符、范例及说明。
表3-1
“/”与“//”都是除法运算符,“/”的运算结果是浮点数,“//”则会将除法计算结果中的小数部分去掉,只取整数,“%”运算符是求余数,例如:
a = 5 b = 2 print(a / b) #结果为浮点数2.5 print(a // b) #结果为整数2 print(a % b) #结果为余数1
如果运算的结果并不赋值给其他变量,那么运算结果的数据类型将以操作数中数据类型占用内存空间最大的变量为主。另外,当操作数都为整数且运算结果会产生小数时,Python会自动以小数方式输出结果,我们无须担心数据类型的转换问题。
但是,如果运算结果要赋值给某个变量,那么该变量占用的内存空间必须足够大,以避免运算结果数据过长的部分被舍去。例如运算的结果为浮点数,而被赋值给整数变量,那么运算结果的小数部分将被舍去。
算术运算符中的除法“/”运算符是常规的除法,经运算后所求的商数是浮点数,如果要将该商数以整数表示,那么可以调用int()函数。
int(15/7) #输出2
“**”是乘幂运算,例如要计算2的4次方:
print(2 ** 4) #结果为16
注意,算术运算符+、-、*和/的优先级为“先乘除后加减”,下面举例说明:
5+2*3
上式的运算结果是11。
在表达式中,括号的优先级高于乘除,如果上式改为(5+2)*3的话,运算结果就会是21。如果遇到相同优先级的运算符,那么按照从左到右的顺序来运算。
下面以范例程序来看看简单的四则运算的应用。此范例程序是让用户输入摄氏(Celsius)温度,通过程序运算转换为华氏(Fahrenheit)温度。摄氏温度转换为华氏温度的公式为F=(9/5)*C+32。
【范例程序:temperature.py】摄氏温度转换为华氏温度
01 # -*- coding: utf-8 -*- 02 """ 03 把输入的摄氏(Celsius)温度转换为华氏(Fahrenheit)温度 04 提示:F = (9/5) * C + 32 05 """ 06 C = float( input("请输入摄氏温度:")) 07 F = (9 / 5) * C + 32 08 print("摄氏温度 {0} 转换为华氏温度为 {1}".format(C,F))
程序的执行结果如图3-1所示。
图3-1
程序代码解析:
·第06行:让用户输入摄氏温度,并调用float()函数将所输入的内容转换为浮点数的数据类型。
·第07行:将所输入的摄氏温度转换为华氏温度。
·第08行:按所指定的格式化字符串输出摄氏温度和华氏温度的转换情况。
附带说明一点,“+”号可以用来连接两个字符串。
a ="abc" + "def" #结果 a = "abcdef"