Python基础到进阶实战系列(六):运算符详解

**

[TOC]全文目录

**
1.算术运算符
2.赋值运算符
3.比较运算符
4.逻辑运算符
5.位运算符
6.成员运算符
7.身份运算符

说到运算符有很多,运算符就是一种特殊的符号,用来表示数据的运算,赋值和比较等,常见的运算符有以下几种:

1.算术运算符
2.赋值运算符
3.比较运算符
4.逻辑运算符
5.位运算符(需要在二进制的基础上进行)
6.成员运算符
7.身份运算符
8.运算符优先级

1.算术运算符

  算术运算符是对数值类型的变量进行运算的。
  **  算术运算符一览表**
运算符 运算/描述 范例 结果
+ 加-两个对象相加 5+5 10
减-两个对象相减 6—4 2
* 乘—两个数相乘 3*4 12
/ 除-两个数相除 5/5 1
% 取模 – 返回除法的余数 7%5 2
// 取整除 – 往小的方向取整数(向下取整) 9//2 4
** 幂 – 返回x的y次幂 2**4 16

具体代码实现如下:

a = 21
b = 10
c = 0

c = a + b
print("1 - c 的值为:", c)

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

c = a * b
print("3 - c 的值为:", c)

c = a / b
print("4 - c 的值为:", c)

c = a % b
print("5 - c 的值为:", c)

# 修改变量 a 、b 、c
a = 2
b = 3
c = a ** b
print("6 - c 的值为:", c)

a = 10
b = 5
c = a // b
print("7 - c 的值为:", c)
运行结果如下:
1 - c 的值为: 31
2 - c 的值为: 11
3 - c 的值为: 210
4 - c 的值为: 2.1
5 - c 的值为: 1
6 - c 的值为: 8
7 - c 的值为: 2

从这串代码可知,算术运算符的基本用法,由输出结果不难看出,都带有1-c,2-c等,是为了增加代码的可读性,区分输出的结果是哪一类算术的结果出来的。有多行代码同时出现这种算术运算,这样区分增加了代码的可读性。

下面来具体说一下几种特殊运算符的作用:

第一个:%
计算 a 除以 b 的余数,结果赋值给 c。
a % b 的结果是 21 % 10 = 1(因为 21 / 10 = 2 余 1),因为%的作用是取余数,所以最后输出的结果是1。还有一种情况就是,如果两个数,有一个浮点数,那相除得出的结果就是小数。

第二个://
描述:取整除 – 往小的方向取整数(向下取整)
计算 a 除以 b 的整数部分,结果赋值给 c。
a // b 的结果是 10 // 5 = 2(因为 10 / 5 = 2.0,整数部分是 2),得出的整数部分是2,所以输出是2。

第三:**
计算 a 的 b 次方,结果赋值给 c。
a ** b 的结果是 2 ** 3 = 8(即 2 * 2 * 2 = 8)所以输出的结果是8

2.比较运算符

比较运算符的结果就是True或者是False,每一次比较的结果都是其中之一。在比较表达式中,经常用在if结构的条件,为True就执行相应的语句,为False就不执行。
比较运算符一览表

运算符 运算 范例 结果
== 等于 4==3 False
!= 不等于 4!=3 True
< 小于 4<3 False
> 大于 4>3 True
<= 小于等于 4<=3 False
>= 大于等于 4>=3 True
is 判断两个变量引用对象是否为同一个
is not 判断两个变量引用对象是否为不同

具体案例,代码实现如下:

a = 9
b = 8
print(a>b)
print(a>=b)
print(a<=b)
print(a<b)
print(a==b)
print(a!=b)
#运行结果:
True
True
False
False
False
True

继续再来看一下is和is not的用法,代码实现如下:

a = 9
b = 8
#把a>b比较的结果,赋值给flag
flag =a > b    #flag = True
print("flag =",flag)
print(a is b)
print(a is not b)
运行结果如下:
flag = True
False
True

所以对于比较运算符及比较运算符组成的表达式来看,小结:

1.比较运算符的结果要么是True,要么就是False
2.比较运算符组成的表达式,通常称之为比较表达式,比如:a>b
3.在比较运算符中,等号通常是双等号拼接而成,例如:“==”,不能写成“=”

**

3.逻辑运算符

**
逻辑运算符也称为布尔运算符
逻辑/布尔运算符一览表
在下表中,假设a=10,b=20则:

运算符 逻辑表达式 描述 实例
and x and y 布尔"与" :如果x为False,x and 返回x的值,否则返回y的计算值。 (a and b)返回 20
or x or y 布尔“或” :如果 x是True,它返回x的值,否则它返回y的值。 (a or b)返回10
not not x 布尔“非” : 如果x 为 True,返回 False.如果x 为False,它返回True not(a and b) 返回 False

“and”使用,代码实操如下:

#定义一个成绩变量
score = 70
#判断成绩是否在60-80之间
print(score >= 60 and score <= 80)
运行结果:
True

继续看下面代码:

a = 1
b = 99
print(a  and  b)
运行结果如下:
99

说明一下,这里的代码输出结果是99,因为a= 1为真值(True),那么and运算符就会继续评估b,b=99也为真值,,所以and运算符返回b,最后输出结果就为99。

看一下下面的代码:

a = 1
b = 99
#print(a  and  b)
print((a>b) and b)
print((a < b) and b)
运行结果:
False
99

这里的输出结果,一个是False,另一个输出是99,因为a>b是个假值,a<b为真值,而在Python()中括起来的运算优先级最高,所以最后输出结果才是False和99。
在逻辑运算中对于"and"使用小结和规则:

1.在Python()中,非0被视为真值,0值被视为假值
2.在Python()中括起来的运算优先级最高。
3.and是一种"短路运算符",只有当第一个为True时才去验证第二个。

逻辑运算or使用及代码演练:

代码实现如下:

#定义一个成绩的变量
score = 70
#判断成绩是否<=60或者>=80
if score <=60 or score >=80:
    print("你很优秀")
输出:

在这串代码中输出的是空值,or 是 Python 中的逻辑或运算符,具有短路特性。它的返回值规则是:

1.如果第一个操作数为真,则直接返回第一个操作数,不再评估第二个操作数。
2.如果第一个操作数为假,则返回第二个操作数。

在这串代码中,两个条件都为假值,所以最后输出print()没有执行,直接输出为空白。
拓展:在python()中,这些都被视为假值(Flase)在 Python 中,以下值被视为假(False):

False, None ,0 ,“”(空字符串), [](空列表,) ()(空元组), {}(空字典), 其他所有值都被视为真(True)

逻辑运算符not使用及演练和规则:

如果操作数是 False、None、0、空字符串 “”、空容器(如 []、()、{} 等),not 返回 True。
其他情况下(即操作数为“真”值),not 返回 False。

以下代码可以看出:

# not使用演练及规则
a = 3  # 定义变量 a,赋值为 3
b = not(a > 3)  # 判断 a > 3 为 False,取反后 b = True  

print(b)  # 输出 True  
print(not False)  # not False = True  
print(not True)  # not True = False  
print(not 0)  # 0 是假值,not 0 = True  
print(not "jack")  # 非空字符串是真值,not "jack" = False  
print(not 1.88)  # 非零数字是真值,not 1.88 = False  
print(not a)  # a=3 是真值,not a = False  
输出如下:
True
True
False
True
False
False
False

由代码看出,输出结果按照其使用规则进行输出。

4.赋值运算符

赋值运算符就是将某一个运算后的值,赋给指定的变量
具体运算符由下面可得出:

运算符 描述 实例
= 简单的赋值运算符 c=a+b,将a+b的运算结果赋值为c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于c = c – a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a等效于c = c ** a
//= 取整除赋值运算符 c //= a 等效于c = c // a
:= 海象运算符,这个运算符的主要目的是在表达式中同时进行赋值和返回赋值的值。Python3.8 版本新增运算符。 在这个示例中,赋值表达式可以避免调用 len() 两次,

具体演示如下:
加法赋值运算(+=)

#加法赋值运算
i = 100 #对i进行初始化赋值
i += 100 # 等效于i = i +100
print(“i=”,i) #输出200

减法赋值运算(-=)

i = 100
i += 100 # i = i +100
print(“i =”,i) #输出200
i -=100 #等效于i = i-100
print(“i =”,i) #输出结果为100

作者:追梦撩编程

物联沃分享整理
物联沃-IOTWORD物联网 » Python基础到进阶实战系列(六):运算符详解

发表回复