Python程序设计
上QQ阅读APP看书,第一时间看更新

2.4.1 算术运算符和算术表达式

1.算术运算符

Python中的算术运算符见表2-3。假设表中变量a为10,变量b为20。

表2-3 算术运算符

在算术表达式中包含各种算术运算符,必须规定各个运算的先后顺序,这就是算术运算符的优先级。表2-4按优先顺序由高到低列出了算术运算符。

表2-4 算术运算符的优先级

当一个表达式中含有多种算术运算符时,将按上述顺序求值。对于同等优先级的多种算术运算符,从左到右依次计算。使用括号“()”可以改变优先级的顺序,如果表达式中含有括号,则先计算括号内表达式的值;如果有多层括号,则先计算最内层括号中的表达式。

2.算术表达式

算术表达式也称数值型表达式,算术表达式由变量、函数和算术表达式以及圆括号组成,并且表达式的运算结果是一个数值。算术表达式的格式为:

注意:

1)一个单独的数据对象或变量是表达式的特殊形式。

2)在做不同类型数值的混合运算时,会发生类型转换,例如一个整数和一个浮点数运算时,首先把整数转换成浮点数,运算结果是浮点数。

3)除法运算总是把整数转换成浮点数,运算结果是浮点数。例如:50*2+(70-6)/8的运算结果为:108.0。

4)如果要获取整数,使用∥运算符,或者用int()函数。

3.数值类型转换

对内置的数值类型进行转换,只需要将数据类型作为函数名即可。

1)int(x):将x转换为一个整数。x是一个数值类型数据或数字字符串。

2)float(x):将x转换为一个浮点数或数字字符串。

3)complex(x):将x转换为一个复数,实部为x,虚部为0。

4)complex(x,y):将x和y转换为一个复数,实部为x,虚部为y。x和y是数值表达式。

另外,如果要把字符串转换成数值类型,使用int()或float()函数,例如:int("99"),float("12.5")。

4.表达式的书写规则

算术表达式与数学中的表达式写法有所区别,Python表达式都是按照一定的规则来书写的,否则系统无法识别,也无法执行。

在书写表达式时应当特别注意:

1)每个符号占1格,所有符号都必须一个一个并排写在同一基准上,所有字符按行书写,不能在右上角或右下角写成上标或下标。例如,a3要写成a**3。a1+a2要写成a1+a2。

2)原来在数学表达式中省略的内容必须重新写上。例如,2x表示2乘x,要写成2*x。

3)表达式中只可以使用圆括号来表示优先级,且要成对出现。不可以使用方括号、大括号等。例如,3[x+2(y+z)]必须写成3*(x+2*(y+z))。

4)要把数学表达式中的有些符号改成Python中可以表示的符号。例如,2πr改为2*PI*r。

例2-9】 把下列数学表达式改写为Python表达式。

1)a1a2x2+(a1b2+a2b1)x+b1b2 2)

3) 4)T=an+m

5) 6)

解答:按照表达式的书写规则,把数学表达式改写为Python表达式。

1)a1*a2*x**2+(a1*b2+a2*b1)*x+b1*b2

2)(a*d+b*c)/(b*d)

3)V=4/3*PI*r**3

4)T=a**(n+m)

5)F=G*m1*m2/(r*r)

6)x1=(-b+(b**2-4*a*c)**0.5)/(2*a)和x2=(-b-(b**2-4*a*c)**0.5)/(2*a)

例2-10】 演示Python所有算术运算符的操作。

上面程序的运行结果如图2-17所示。

图2-17 例2-10运行结果