Python中的运算符

本文详细介绍了Python中的算术运算符如加减乘除、取余和取整,展示了字符串拼接的应用,以及复合赋值运算符的用法。随后探讨了关系和逻辑运算符,包括比较、条件判断和逻辑与、或、非的使用。最后讲解了成员运算符在序列查找中的作用,通过实例深入浅出地呈现了这些概念的实际操作和原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、​​​​​​算术运算符

+    -     *【乘法】 /【除法】 %【求余或者取模】 **【求幂或者几次方】 //【取整】

a = 12

b = 3

c = 7

print(+ b) # 加法运算

print(- b) # 减法运算

print(* b) # 乘法运算

print(/ b) # 除法运算

print(% c) # 取余 结果为5

print(// 7) # 取整

2、算术运算符在字符串中的应用

如果是两个字符串做加法运算,会直接把两个字符串拼接成一个字符串.

str1 = "hello"

str2 = " world"

print(str1 + str2)

# 注意: python,数字和字符串不能进行加法运算

str3 = "welcome"

num = 12

# print(str3 + num) 会报错

注意: python,数字和字符串之间不能做加法运算.

3、赋值运算符

简单赋值运算符:= 给一个变量进行赋值

复合赋值运算符:+=   -=  %=   /=  ... 给一个变量进行赋值,同时给变量进行相应的运算

运算符

描述

实例

=

简单的赋值运算符

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

# 简单的赋值运算符 python = 和数学中的 = 不是一回事. python中的 = 表示把右边的值赋给左的变量.

num = 13

# print(num)

# 对原来的num变量加 21 ,然后把运算后的结果再赋值给num变量

# num = num + 21

# print(num)

# 复合的赋值运算符 +=     -=     *=      /=      %=     //=      **=

num += 21 # 等 价 于 num = num + 21

print(num)

num1 = 23

num1 -= 22 # 等价于 num1 = num1 - 22

print(num1)

num2 = 6

num2 *= 3 # 等 价 于 num2 = num2 * 3

print(num2)

num3 = 12

num3 /= 4 # 等价于 num3 = num3 / 4

print(num3)

num4 = 21

num4 %= 5 # 等价于 num4 = num4 % 5

print(num4)

num5 = 3

num5 **= 2 # 等价于 num5 = num5 ** 2

print(num5)

num6 = 54

num6 //= 7 # 等价于 num6 = num6 // 7

print(num6)

# 注意: python中没有 ++ -- 运算

a = 12

+= 1 # 其他语言中的 a++ a--

print(a)

4、关系(比较 或者 条件)运算符


作用:比较大小,得到结果为布尔值【如果表达式成立,则返回True,如果不成立,则返回False】     字符串之间使用关系运算符会按照ASCII码值进行比较.

>       <        >=         <=             ==【等号】                   != 【不等于】

主要用于if 语句和 循环结构

a = 12

b = 31

c = 12

print(< b) # True

print(> b) # False

print(a >= b) # False

print(a <= b) # True

print(a == c) # True

print(a != b) # True

# 字符串也可以使用关系运算符进行相关的操作 字符串进行比较时,是按照自己对应的ASCII值进行的比较

print("a" > "f") # False

5、逻辑运算符

高中数学中我们就学过逻辑运算,例如 p 为真命题,q 为假命题,那么“pq”为假,“pq”为真,q” 为真。Python 也有类似的逻辑运算,请看下表:

逻辑运算

含义

基本格式

说明

and

逻辑与运算,等价于数学中的

a and b

a b 两个表达式都为真时,a and b 的结果才为真,否则为假。

or

逻辑或运算,等价于数学中的

a or b

a b 两个表达式都为假时,a or b 的结果才是假, 否则为真。

not

逻辑非运算,等价于数学中的

not a

如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a

结果为真。相当于对 a 取反。

如果看表还不理解的话,那就记住口诀:and都真才真、or有真就真、not真非假,假非真

逻辑运算符一般和关系运算符结合使用,例如:

# and(逻辑与) or(逻辑或) not(逻辑非)

# and(逻辑与): 运算规则: 只要有一个表达式的结果是False,则整个表达式的结果为False.只有当

等号两边的两个表达式的结果全部为True的时候,则整个表达式的结果才是True.

# print(23 > 11 and 19 > 14) # True

# print(23 > 11 and 19 > 34) # False

# print(87 < 67 and 34 > 23) # False

# or(逻辑或): 运算规则:只要有一个表达式的结果是True,则整个表达式的结果是True.只有等号两边的两个表达式的结果全部是False的时候,则整个表达式的结果才是False.

# print(23 > 12 or 98 < 65) # True

# print(23 < 12 or 98 > 65) # True

# print(23 < 12 or 98 < 65) # False

# not(逻辑非) 运算规则: 对原来的结果取反,原来是True,取反后变为False.原来是False,取反后True.

# print(True)

# print(not True) # False

# print(False)

# print(not False) # True

Python 逻辑运算符可以用来操作任何类型的表达式,不管表达式是不是 bool 类型;同时,逻辑运算的结果也不一定是 bool 类型,它也可以是任意类型。请看下面的例子:

print(100 and 200)

print(45 and 0)

print(False or 12)

运行结果如下:

200

0

12

本例中 and or 运算符操作的都不是 bool 类型表达式,操作的结果也不是 bool 值。

6、逻辑运算符的本质

在 Python 中,and 和 or 不一定会计算右边表达式的值,有时候只计算左边表达式的值就能得到最终结果。

另外,and 和 or 运算符会将其中一个表达式的值作为最终结果,而不是将 True 或者 False 作为最终结果。

以上两点极其重要,了解这两点不会让你在使用逻辑运算的过程中产生疑惑。

对于 and 运算符,两边的值都为真时最终结果才为真,但是只要其中有一个值为假,那么最终结果就是假, 所以 Python 按照下面的规则执行 and 运算:

如果左边表达式的值为假,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,都不会影响  最终结果,最终结果都是假,此时 and 会把左边表达式的值作为最终结果。

如果左边表达式的值为真,那么最终值是不能确定的,and  会继续计算右边表达式的值,并将右边表达式的值作为最终结果。

对于 or 运算符,情况是类似的,两边的值都为假时最终结果才为假,只要其中有一个值为真,那么最终结果就是真,所以 Python 按照下面的规则执行 or 运算:

如果左边表达式的值为真,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,都不会影响  最终结果,最终结果都是真,此时 or 会把左边表达式的值作为最终结果。

如果左边表达式的值为假,那么最终值是不能确定的,or  会继续计算右边表达式的值,并将右边表达式的值作为最终结果。

7、成员运算符

成员运算符包含 in, not in 主要用于字符串\列表\元组等操作.

运算符

描述

示例

in

如果在指定的序列中找到值返回 True,否则返回 False

判断:x 是否在 y 序列中 , 如果 x y 序列中

返回 True

 

not in

如果在指定的序列中没有找到值返回

True,否则返回 False

判断:x 是否不在 y 序列中 , 如果 x不 在 y

序列中返回 True.

# 成员运算符: in not in 主要用于判断指定元素是否在序列中,若在返回True,若不在返回False.

list1 = [12,34,56,89,32,True]

print(34 in list1) # True 判断元素34是否在list1列表中,若在返回True,若不在返回False.

print(8.87 in list1) # False

print(93 not in list1) # True 判断元素93是否在list1列表中,若不在返回True,若在返回False.

print(93 in list1) # False

str1 = "hello"

print("h" in str1) # True

print("w" not in str1) # True

更多学习资料请加入QQ群获取哟~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿拉没有灯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值