Python快速编程入门
上QQ阅读APP看书,第一时间看更新

2.5 运算符

对数据的变换称为运算,表示运算的符号称为运算符,参与运算的数据被称为操作数,举个简单的例子4+5,这是一个加法运算,“+”称为运算符,4和5称为操作数。本节将针对Python中的运算符进行详细讲解。

2.5.1 算术运算符

算术运算符主要用于计算,例如,+、−、*、/都属于算术运算符。接下来,我们以a=20, b=10为例进行计算,具体如表2-2所示。

表2-2 算术运算符

为了便于大家更好地理解算术运算符,接下来,通过实例演示Python算术运算符的操作,如例2-1所示。

例2-1 算术运算符

1 a=20

2 b=10

3 c=0

4 #加法运算

5 c=a+b

6 print("1--c的值为:",c)

7 #减法运算

8 c=a-b

9 print("2--c的值为:",c)

10 #乘法运算

11 c=a*b

12 print("3--c的值为:",c)

13 #除法运算

14 c=a/b

15 print("4--c的值为:",c)

16 #取余运算

17 c=a%b

18 print("5--c的值为:",c)

19 #取整除运算

20 c=a//b

21 print("6--c的值为:",c)

22 # 修改变量 a、b、c

23 a=2

24 b=3

25 c=a**b   # 幂的运算

26 print("7--c的值为:",c)

在例2-1中,通过使用不同的算术运算符对变量a、b、c进行计算,并将计算结果输出。程序的运行结果如图2-8所示。

图2-8 运行结果

2.5.2 赋值运算符

赋值运算符只有一个,即=,它的作用是把等号右边的值赋给左边,例如,num=1+2,就是把1+2的结果赋给num,num的值为3。接下来,通过一段示例代码来演示,具体如下:

>>> num=1

>>> num

1

如果同时为多个变量赋同一个值,可以采用下列方式:

>>> x=y=z=1

>>> x

1

>>> y

1

>>> z

1

上述代码中,1这个值被赋值给x、y和z。

当然,在Python中,还可以将多个值赋值给多个变量,示例代码如下:

>>> a, b = 1, 2

>>> a

1

>>> b

2

注意:

Python不支持C语言中的自增(++)和自减(−−)操作符。

2.5.3 复合赋值运算符

复合赋值运算符可以看作是将算术运算和赋值运算功能进行合并的一种运算符,它是一种缩写形式,在对变量改变的时候显得更为简单。表2-3列举了Python中的复合赋值运算符。

表2-3 复合赋值运算符

为了便于大家更好地理解复合赋值运算符,接下来,通过实例演示Python复合赋值运算符的操作,如例2-2所示。

例2-2 复合赋值运算符

a=20

b=10

c=0

# 加法赋值运算

c+=a

print("1--c的值为:",c)

# 乘法赋值运算

c*=a

print("2--c的值为:",c)

#除法赋值运算符

c/=a

print("3--c的值为:",c)

#先修改变量c的值,然后进行取余赋值运算

c=2

c%=a

print("4--c的值为:",c)

#先修改变量c和a的值,然后进行幂赋值运算

c=3

a=2

c**=a

print("5--c的值为:",c)

#取整除赋值运算

c//=a

print("6--c的值为:",c)

在例2-2中,分别使用不同的复合赋值运算符对变量a、b、c进行计算,并将计算结果输出。程序的运行结果如图2-9所示。

图2-9 运行结果

2.5.4 比较运算符

比较运算符用于比较两个数,其返回的结果只能是True或False。表2-4列举了Python中的比较运算符。

为了便于大家更好地理解比较运算符,接下来,通过实例演示Python比较运算符的操作,如例2-3所示。

表2-4 比较运算符

例2-3 比较运算符

a=20

b=10

c=0

# 比较a和b的值是否相等

if ( a == b ):

  print("1——a等于b")

else:

  print("1——a不等于b")

# 比较a和b的值是否不相等

if ( a != b ):

  print("2——a不等于b")

else:

  print("2——a等于b")

# 比较a是否小于b

if ( a < b ):

  print("4——a小于b" )

else:

  print("4——a大于等于b")

# 比较a是否大于b

if ( a > b ):

  print("5——a大于b")

else:

  print("5——a小于等于b")

# 修改变量 a 和 b 的值

a = 5;

b = 20;

# 比较a是否小于等于b

if ( a <= b ):

  print("6——a小于等于b")

else:

  print("6——a大于b")

# 比较b是否大于等于a

if ( b >= a ):

  print("7——b大于等于a")

else:

  print("7——b小于a")

在例2-3中,使用了if-else判断语句,这种语句在后面的章节会详细讲解。这里,大家只需把它理解为一种判断的语句,表示的含义是“如果⋯⋯否则⋯⋯”。只有if后面紧跟的表达式结果为True时,程序会执行if后面的语句,否则会执行else后面的语句。这里,大家对照程序深刻理解比较运算符的使用即可。程序的运行结果如图2-10所示。

图2-10 运行结果

2.5.5 逻辑运算符

逻辑运算符用来表示日常交流中的“并且”“或者”“除非”等思想。Python支持逻辑运算符,表2-5列举了Python中的逻辑运算符。

表2-5 逻辑运算符

为了便于大家更好地理解逻辑运算符,接下来,通过实例演示Python逻辑运算符的操作,如例2-4所示。

例2-4 逻辑运算符

a=10

b=20

#判断a and b

if ( a and b ):

  print("1——变量 a 和 b 都为 true")

else:

  print("1——变量 a 和 b 有一个不为 true")

# 判断a or b

if ( a or b ):

  print("2——变量 a 和 b 都为 true,或其中一个变量为 true")

else:

  print("2——变量 a 和 b 都不为 true")

# 修改变量 a 的值

a = 0

if ( a and b ):

  print("3——变量 a 和 b 都为 true")

else:

  print("3——变量 a 和 b 有一个不为 true")

if ( a or b ):

  print("4——变量 a 和 b 都为 true,或其中一个变量为 true")

else:

  print("4——变量 a 和 b 都不为 true")

# 判断not( a and b )

if not( a and b ):

  print("5——变量 a 和 b 都为 false,或其中一个变量为 false")

else:

  print("5——变量 a 和 b 都为 true")

例2-4中,通过对变量a和b进行逻辑运算,演示了不同运算符的作用。程序的运行结果如图2-11所示。

图2-11 运行结果

2.5.6 成员运算符

除了以上的一些运算符之外,Python还支持成员运算符。Python中的成员运算符用于判断指定序列中是否包含某个值,如果包含,返回True,否则返回False。表2-6列举了Python中的成员运算符。

表2-6 成员运算符

为了便于大家更好地理解成员运算符,接下来,通过实例演示Python成员运算符的操作,具体如下:

a = 10

b = 20

list = [1, 2, 3, 4, 5 ];

# 判断变量a是否在给定的列表list中

if ( a in list ):

  print("1——变量 a 在给定的列表中 list 中")

else:

  print("1——变量 a 不在给定的列表中 list 中")

# 判断变量b是否在给定的列表list中

if ( b not in list ):

  print("2——变量 b 不在给定的列表中 list 中")

else:

  print("2——变量 b 在给定的列表中 list 中")

# 修改变量 a 的值

a = 2

if (a in list ):

  print("3——变量 a 在给定的列表中 list 中")

else:

  print("3——变量 a 不在给定的列表中 list 中")

运行结果如图2-12所示。

图2-12 运行结果