算数运算符(也叫数学运算符),一般是对数字的运算,部分算数运算符也可以对字符串进操作。
常用的算数运算符包括加、减、乘、除、取模(取余)、幂运算(次方运算)、整除。
1、加(+)、减(-)、乘(*)、幂运算(**)
加减乘和幂运算,即数学意义上的加减乘和幂次方。其中减可以对该数字取负数。
加和乘还可以操作字符串。字符串相加,类似拼接字符串。数字乘字符串,表示字符串重复运算,即该字符串呈倍数拼接。
例子①
n1 = 2
n2 = 3.6
n3 = 5
n4 = 6
n5 = -7
n6 = -8
n7 = 4.12
str1 = 'gang'
str2 = 'huo'
print('--------加--------')
print('{}+{} 的结果是:{}'.format(n1,n2,n1 + n2))
print('{}+{} 的结果是:{}'.format(n2,n5,n2 + n5))
print('{}+{} 的结果是:{}'.format(n5,n6,n5 + n6))
print('{}+{} 的结果是:{}'.format(str1,str2,str1 + str2))
print('--------减--------')
print('-{}的结果是:{}'.format(n1,-n1))
print('-{}的结果是:{}'.format(n5,-n5))
print('+{}的结果是:{}'.format(n1,+n1))
print('{}-{} 的结果是:{}'.format(n2,n1,n2 - n1))
print('{}-{} 的结果是:{}'.format(n2,n6,n2 - n6))
print('{}-{} 的结果是:{}'.format(n5,n6,n5 - n6))
print('--------乘--------')
print('{}*{} 的结果是:{}'.format(n1,n2,n1 * n2))
print('{}*{} 的结果是:{}'.format(n5,n6,n5 * n6))
print('{}*{} 的结果是:{}'.format(n1,str1,n1 * str1))
print('--------幂--------')
print('{}**{} 的结果是:{}'.format(n1,n3,n1 ** n3))
print('{}**{} 的结果是:{}'.format(n3,n1, n3**n1))
执行结果:
--------加--------
2+3.6 的结果是:5.6
3.6+-7 的结果是:-3.4
-7+-8 的结果是:-15
gang+huo 的结果是:ganghuo
--------减--------
-2的结果是:-2
--7的结果是:7
+2的结果是:2
3.6-2 的结果是:1.6
3.6--8 的结果是:11.6
-7--8 的结果是:1
--------乘--------
2*3.6 的结果是:7.2
-7*-8 的结果是:56
2*gang 的结果是:ganggang
--------幂--------
2**5 的结果是:32
5**2 的结果是:25
从例子可以看出,减(-)可以用作取负数,但是单独用加(+)没有任何意义。
2、除(/)、整除(取整除)(//)、取模(取余数)(%)
算数运算符中,除即数学意义上的除,用(/)表示。
整除,也叫取整除,用(//)表示,就是只保留商的整数部分,一般向下取整,也可以理解为丢弃小数部分。
余数可以是小数,比如0.3除以0.2余数为0.1。
取模,也叫取余,就是返回除法的余数,用百分号(%)表示。对于小数,求余的结果一般也是小数。
注意:python中,除数不能是0,否则会报错。
例子②
n1 = 2
n2 = 3.6
n3 = 5
n4 = 6
n5 = -7
n6 = -8
n7 = 4.12
str1 = 'gang'
str2 = 'huo'
print('--------整数n1和整数n3--------')
print('{}/{} 的结果是:{}'.format(n1,n3, n1/n3))
print('{}//{} 的结果是:{}'.format(n1,n3, n1//n3))
print('{}%{} 的结果是:{}'.format(n1,n3, n1%n3))
print('{}/{} 的结果是:{}'.format(n3,n1, n3/n1))
print('{}//{} 的结果是:{}'.format(n3,n1, n3//n1))
print('{}%{} 的结果是:{}'.format(n3,n1, n3%n1))
print('--------整数n2和整数n7--------')
print('{}/{} 的结果是:{}'.format(n2,n7, n2/n7))
print('{}//{} 的结果是:{}'.format(n2,n7, n2//n7))
print('{}%{} 的结果是:{}'.format(n2,n7, n2%n7))
print('{}/{} 的结果是:{}'.format(n7,n2, n7/n2))
print('{}//{} 的结果是:{}'.format(n7,n2, n7//n2))
print('{}%{} 的结果是:{}'.format(n7,n2, n7%n2))
print('--------负数n5和负数n6--------')
print('{}/{} 的结果是:{}'.format(n5,n6, n5/n6))
print('{}//{} 的结果是:{}'.format(n5,n6, n5//n6))
print('{}%{} 的结果是:{}'.format(n5,n6, n5%n6))
print('{}/{} 的结果是:{}'.format(n6,n5, n6/n5))
print('{}//{} 的结果是:{}'.format(n6,n5, n6//n5))
print('{}%{} 的结果是:{}'.format(n6,n5, n6%n5))
print('--------小数n2和整数n1--------')
print('{}/{} 的结果是:{}'.format(n1,n2, n1/n2))
print('{}//{} 的结果是:{}'.format(n1,n2, n1//n2))
print('{}%{} 的结果是:{}'.format(n1,n2, n1%n2))
print('{}/{} 的结果是:{}'.format(n2,n1, n2/n1))
print('{}//{} 的结果是:{}'.format(n2,n1, n2//n1))
print('{}%{} 的结果是:{}'.format(n2,n1, n2%n1))
print('--------整数n1和负数n5--------')
print('{}/{} 的结果是:{}'.format(n1,n5, n1/n5))
print('{}//{} 的结果是:{}'.format(n1,n5, n1//n5))
print('{}%{} 的结果是:{}'.format(n1,n5, n1%n5))
print('{}/{} 的结果是:{}'.format(n5,n1, n5/n1))
print('{}//{} 的结果是:{}'.format(n5,n1, n5//n1))
print('{}%{} 的结果是:{}'.format(n5,n1, n5%n1))
print('--------小数n2和负数n5--------')
print('{}/{} 的结果是:{}'.format(n2,n5, n2/n5))
print('{}//{} 的结果是:{}'.format(n2,n5, n2//n5))
print('{}%{} 的结果是:{}'.format(n2,n5, n2%n5))
print('{}/{} 的结果是:{}'.format(n5,n2, n5/n2))
print('{}//{} 的结果是:{}'.format(n5,n2, n5//n2))
print('{}%{} 的结果是:{}'.format(n5,n2, n5%n2))
执行结果:
--------整数n1和整数n3--------
2/5 的结果是:0.4
2//5 的结果是:0
2%5 的结果是:2
5/2 的结果是:2.5
5//2 的结果是:2
5%2 的结果是:1
--------整数n2和整数n7--------
3.6/4.12 的结果是:0.8737864077669902
3.6//4.12 的结果是:0.0
3.6%4.12 的结果是:3.6
4.12/3.6 的结果是:1.1444444444444444
4.12//3.6 的结果是:1.0
4.12%3.6 的结果是:0.52
--------负数n5和负数n6--------
-7/-8 的结果是:0.875
-7//-8 的结果是:0
-7%-8 的结果是:-7
-8/-7 的结果是:1.1428571428571428
-8//-7 的结果是:1
-8%-7 的结果是:-1
--------小数n2和整数n1--------
2/3.6 的结果是:0.5555555555555556
2//3.6 的结果是:0.0
2%3.6 的结果是:2.0
3.6/2 的结果是:1.8
3.6//2 的结果是:1.0
3.6%2 的结果是:1.6
--------整数n1和负数n5--------
2/-7 的结果是:-0.2857142857142857
2//-7 的结果是:-1
2%-7 的结果是:-5
-7/2 的结果是:-3.5
-7//2 的结果是:-4
-7%2 的结果是:1
--------小数n2和负数n5--------
3.6/-7 的结果是:-0.5142857142857143
3.6//-7 的结果是:-1.0
3.6%-7 的结果是:-3.4
-7/3.6 的结果是:-1.9444444444444444
-7//3.6 的结果是:-2.0
-7%3.6 的结果是:0.20000000000000018
以上的例子都是用python3.x运行的,因为python3.x增加了整除(//),使得除法更加规范。
Python 2.x 只提供了一种除法运算,就是(/),它的行为和大部分编程语言中/的行为是一样的:
当(/)两边都是整数时,结果始终是整数;如果不能除尽,就直接舍弃小数部分。
当(/)两边有一个是小数时,结果始终是小数;如果恰好除尽,小数部分就是 0。
所以如果要得到小数部分,把其中一个数改成浮点数即可。
● ● ●
从运行结果可以发现,python的算数运算符中:
1)除(/)的计算结果总是小数,不管是否能除尽,也不管参与运算的是整数还是小数。
2)整除(//)的结果可以是小数,也可以是整数。只有当有小数参与运算时,结果才是小数。
3)只有当第二个数字是负数时,求余(%)的结果才是负数。也就是说,求余结果的正负和第一个数字没有关系,只由第二个数字决定。
4)(%)两边的数字都是整数时,求余的结果也是整数;但是只要有一个数字是小数,求余的结果就是小数。
参考文章:python运算符—算数运算符