购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.12 运算符

Python支持的运算符类型有算术运算符、关系运算符、逻辑运算符、赋值运算符,如图2-9所示。

图2-9 运算符类型

接下来一一进行介绍。

2.12.1 算术运算符

算术运算符也称为数学运算符,用来对数字进行数学运算,比如加、减、乘、除、求模、取整。表2-3列出了Python支持的所有算术运算符。

表2-3 算术运算符

下列代码演示算术运算符的使用,源代码见 code\2\calculate.py。

1  a=3
2  b=2
3  print("加法运算符:a+b=",a+b)
4  print("减法运算符:a-b=",a-b)
5  print("乘法运算符:a*b=",a*b)
6  print("除法运算符:a/b=",a/b)
7  print("取模运算符:a%b=",a%b)
8  print("幂运算符:a**b=",a**b)
9  print("取整运算符:a//b=",a//b)

代码的执行结果如下。

加法运算符:a+b= 5
减法运算符:a-b= 1
乘法运算符:a*b= 6
除法运算符:a/b= 1.5
取模运算符:a%b= 1
幂运算符:a**b= 9
取整运算符:a//b= 1

对字符串也可以使用+和*运算符。

下列代码演示字符串中的+和*的使用,源代码见 code\2\str_calc.py。

1  a="abcde"
2  b="hijkl"
3  print("加法运算符:a+b=",a+b)
4  print("乘法运算符:a*2=",a*2)

代码的执行结果如下。

加法运算符:a+b= abcdehijkl
乘法运算符:a*2= abcdeabcde

注意:在*运算符的表达式中,第一个变量是字符串,第二个变量是整数,表示重复该字符串多次。

一个字符串和一个数字是不可以直接连接的,此处通过下列代码来演示,源代码见code\2\ str_calc.py。

1  a="abcde"
2  b=12345
3  print("加法运算符:a+b=",a+b)

代码的执行结果如下。

Traceback (most recent call last):
 File "g:/book/code/str_cale.py", line 3, in <module>
print("加法运算符:a+b=",a+b)
TypeError: can only concatenate str (not "int") to str

系统提示,字符串只能与字符串连接,如果要连接字符串与整数类型的数据,需要用str()函数进行处理。

下列代码演示两种不同类型的变量相加,源代码见code\2\str_calc.py。

1  a="abcde"
2  b=12345
3  print("加法运算符:a+b=",a+str(b))

代码的执行结果如下。

加法运算符:a+b= abcde12345

2.12.2 关系运算符

关系运算符主要用于对两个对象进行比较。表2-4列出了Python支持的关系运算符。

表2-4 关系运算符

下列代码演示关系运算符的使用,源代码见code\2\relational.py。

1  a=3
2  b=2
3  print("等于运算符:a==b ",a==b)
4  print("不等于运算符:a!=b ",a!=b)
5  print("大于运算符:a>b ",a>b)
6  print("小于运算符:a<b ",a<b)
7  print("大于等于运算符:a>=b ",a>=b)
8  print("小于等于运算符:a<=b ",a<=b)

代码的执行结果如下。

等于运算符:a==b  False
不等于运算符:a!=b  True
大于运算符:a>b  True
小于运算符:a<b  False
大于等于运算符:a>=b  True
小于等于运算符:a<=b  False

在Python中,还可以使用关系运算符比较字符串、列表。列表会在第4章详细介绍。

下列代码演示关系运算符的使用,源代码见code\2\relational_1.py。

1  a="abcde"
2  b="hijkl"
3  print("字符串比较:a==b ",a==b)
4  print("字符串比较:a>b ",a>b)
5  print("字符串比较:a<b ",a<b)
6  a=[1,2,3]
7  b=[1,2,3]
8  print("列表比较:a=b ",a==b)
9  b=[4,5,6]
10 print("列表比较:a<b ",a<b)

代码的执行结果如下。

字符串比较:a==b  False
字符串比较:a>b  False
字符串比较:a<b  True
列表比较:a=b  True
列表比较:a<b  True

2.12.3 逻辑运算符

逻辑运算就是将变量用逻辑运算符连接起来,并对其进行求值的运算过程。表2-5列出了Python支持的and、or和not等3种逻辑运算符。

表2-5 逻辑运算符

下列代码演示逻辑运算符的使用,源代码见code\2\logical_1.py。

1  a=3
2  b=2
3  #a、b都为True
4  if a and b:
5      print('逻辑与为True')
6  else:
7      print('逻辑与为False')
8  #a>b为True,a>5为False
9  if a>b and a>5:
10     print('逻辑与为True')
11 else:
12     print('逻辑与为False')
13 #a、b都为True
14 if a or b:
15     print('逻辑或为True')
16 else:
17     print('逻辑或为False')
18 #a<b为False,b>0为True
19 if a<b or b>0:
20     print('逻辑或为True')
21 else:
22     print('逻辑或为False')
23 #not a为False
24 if not a:
25     print('逻辑非为True')
26 else:
27     print('逻辑非为False')

代码的执行结果如下,读者可以反复测试分析。

逻辑与为True
逻辑与为False
逻辑或为True
逻辑或为True
逻辑非为False

2.12.4 赋值运算符

赋值运算符用于给某个变量或表达式设定一个值。表2-6中列出了Python支持的赋值运算符。

表2-6 赋值运算符

下列代码演示赋值运算符的使用,源代码见code\2\assign.py。

1  a=3
2  b=2
3  print("+=加法赋值运算符:a+=b ",a+b)
4  print("-=减法赋值运算符:a-=b ",a-b)
5  print("*=乘法赋值运算符:a*=b ",a*b)
6  print("/=除法赋值运算符:a/=b ",a/b)
7  print("%=取模赋值运算符:a%=b",a%b)
8  print("**=幂赋值运算符:a**=b",a**b)
9  print("//=取整赋值运算符:a//=b",a//b)

代码的执行结果如下。 mMK9cw+jUtwxgqSzrnP+13x9/IWHLj2rULI5AKqGk0lQZlwulU9tKSgTOosmcU77

+=加法赋值运算符:a+=b  5
-=减法赋值运算符:a-=b  1
*=乘法赋值运算符:a*=b  6
/=除法赋值运算符:a/=b  1.5
%=取模赋值运算符:a%=b 1
**=幂赋值运算符:a**=b 9
//=取整赋值运算符:a//=b 1
点击中间区域
呼出菜单
上一章
目录
下一章
×