Python 中的算术运算符用来组织整型和浮点型数据的算术运算,按照参加运算的操作数的不同可以分为一元运算符和二元运算符。
6.1.1 一元运算符
Python 中一元运算符有多个,但是算数一元运算符只有一个,即“-
”,是取反运算符。
例如:-a是对a取反运算。
a = 12
print(-a)
执行结果:
-12
6.1.2 二元运算符
二元运算符包括 +
、-
、*
、 /
、%
、**
和 //
,这些运算符主要是对数字类型数据进行操作,而 +
和 *
可以用于字符串、元组和列表等类型的数据操作。
如下表所示:
运算符 | 名称 | 说明 | 例子 |
---|---|---|---|
+ | 加 | 可用于数字、序列等类型数据操作;对于数字类型是求和;其他类型是连接操作 | a + b |
- | 减 | 求 a - b 的差 | a - b |
* | 乘 | 可用于数字、序列等类型数据操作;对于数字类型是求积,其他类型是重复操作 | a * b |
/ | 除 | 求 a 除以 b 的商 | a / b |
% | 取余 | 求a除以b的余数 | a % b |
** | 幂 | 求a的b次幂 | a**b |
// | 地板除法 | 求小于a除以b的商的最大整数 | a // b |
例如:
print(1 + 2)
print(2 - 1)
print(2 * 3)
print(3 / 2)
print(3 % 2)
print(3 // 2)
print(-3 // 2)
print(10 ** 2)
print(10.22 + 10)
print(10.0 + True + 2)
执行结果:
3
1
6
1.5
1
1
-2
100
20.22
13.0
上述例子中分别对数字类型数据进行了二元运算,其中 True
被当作整数 1
参与运算,操作数中有浮点数字,表达式计算结果也是浮点类型。
字符串属于序列的一种,所以字符串可以使用“ +
"和“*
”运算符。
例如:
print("Hello" + "World")
print("Hello" + 2)
print("Hello" * 2)
print("Hello" * 2.2)
执行结果:
HelloWorld
TypeError: can only concatenate str (not "int") to str
HelloHello
TypeError: can't multiply sequence by non-int of type 'float'
- “
+
”运算符会将两个字符串连接起来,但不能将字符串与其他类型数据连接起来。 - “
*
”运算符第一操作数是字符串,第二操作数是整数,表示重复字符串多次。
因此’Hello' * 2
结果是“HelloHello
”,注意第二操作数只能是整数。