python基本运算符

什么是运算符?

  • 运算符是符号,它们告诉解释器执行特定的操作,例如算术,比较,逻辑等。
    在这里插入图片描述

基本运算符类型

1. 算术运算符

以a = 10 b = 4为例子

运算符描述实例
+加法运算,将运算符两边的操作数增加。a + b = 14
-减法运算,将运算符左边的操作数减去右边的操作数。a – b = 6
*乘法运算,将运算符两边的操作数相乘a * b = 40
/除法运算,用右操作数除左操作数a / b = 2.5
%模运算,用右操作数除数左操作数并返回余数a % b = 2
**对运算符进行指数(幂)计算a ** b = 10^4 = 10000
//地板除 - 操作数的除法,其结果是删除小数点后的商数。 但如果其中一个操作数为负数,则结果将被保留,即从零(向负无穷大)舍去9//2 = 49.0//2.0 = 4.0,-11//3 = -4,-11.0//3 = -4.0

在这里插入图片描述

2. 比较(关系)运算符

比较(关系)运算符比较它们两边的值,并确定它们之间的关系。
以a = 10 b = 4为例子

运算符描述示例
==如果两个操作数的值相等,则条件为真。(a == b)求值结果为 False
!=如果两个操作数的值不相等,则条件为真。(a != b)求值结果为 True
>如果左操作数的值大于右操作数的值,则条件成为真。(a > b)求值结果为 True
<如果左操作数的值小于右操作数的值,则条件成为真。(a < b)求值结果为 False
>=如果左操作数的值大于或等于右操作数的值,则条件成为真。(a >= b)求值结果为 True
<=如果左操作数的值小于或等于右操作数的值,则条件成为真。(a <= b)求值结果为 False

在这里插入图片描述

3. 赋值运算符
3.1 增量赋值
运算符描述示例
=将右侧操作数的值分配给左侧操作数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

在这里插入图片描述

3.2 链式赋值
把同一个值同时赋值给多个变量:
	方式1:
		z = 10
		y = z
		x = y
		print(x, y, z) # 10, 10, 10
	方式2:
		x = y = z = 10
		print(x, y, z)  # 10, 10, 10
		# 方式2 就是链式赋值
3.3 交叉赋值

定义两个变量 m 与 n

m = 10
n = 20

怎么将m和n的值交换过来

# 方式1:
temp = m
m = n
n = temp
print(m, n)  # 20, 10
# 方式2:
m ,n = n ,m # 交叉赋值
print(m, n)  # 20, 10
3.4解压赋值

把列表中多个值取出来依次赋值给多个变量名

nums=[11,22,33,44,55]
# 方式1:
a=nums[0]
b=nums[1]
c=nums[2]
d=nums[3]
e=nums[4]
print(a,b,c,d,e)  # 11,22,33,44,55
# 方式2:
a, b, c, d, e = nums   # 解压赋值
print(a,b,c,d,e)  # 11,22,33,44,55  
'''
解压赋值,等号左边变量名的个数必须和右边包含的值的个数相同,否则就会报错
'''
# 高级用法
# 可以用*-匹配来实现只取头尾几个值
a, b ,*- = nums
print(a,b)  # 11,22
a, *-, e = nums
print(a,e)  # 11,55
4. 逻辑运算符

Python语言支持以下逻辑运算符。

运算符描述示例
and如果两个操作数都为真,则条件成立。(a and b)的结果为Talse
or如果两个操作数中的任何一个非零,则条件成为真。(a or b)的结果为True
not用于反转操作数的逻辑状态。not(a and b) 的结果为Frue
4.1 连续多个and

可以用and连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为False,则无需再往右判断,可以立即判定最终结果就为False,只有在所有条件的结果都为True的情况下,最终结果才为True。

4.2 连续多个or

可以用or连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为True,则无需再往右判断,可以立即判定最终结果就为True,只有在所有条件的结果都为False的情况下,最终结果才为False

4.3 and or not 混合使用
  • 优先级: not >and>or
# 最优解:在编写的时候应该人为的规定好优先级
eg: (3>4 and 7) or (not 1) or (('tony' and 'tom') and True)

在这里插入图片描述

5. 按位运算符(了解即可)

python语言支持以下按位运算符,执行逐位运算(以二进制进行运算)。

运算符描述示例
&如果它存在于两个操作数中,则操作符复制位到结果中(a & b) 结果表示为 0000 1100
I如果它存在于任一操作数,则复制位。(aIb) = 61 结果表示为 0011 1101
^二进制异或。如果它是一个操作数集合,但不是同时是两个操作数则将复制位。(a ^ b) = 49 (结果表示为 0011 0001)
~二进制补码,它是一元的,具有“翻转”的效果。(~a ) = -61有符号的二进制数,表示为1100 0011的补码形式。
<<二进制左移,左操作数的值由右操作数指定的位数左移。a << 2 = 240 (结果表示为 1111 0000)
>>二进制右移,左操作数的值由右操作数指定的位数右移。a >> 2 = 15(结果表示为0000 1111)

在这里插入图片描述在这里插入图片描述

6. 成员运算符

Python成员运算符测试给定值是否为序列中的成员,有两个成员运算符

运算符描述示例
in如果在指定的序列中找到一个变量的值,则返回True,否则返回False-
not in如果在指定序列中找不到变量的值,则返回True,否则返回False-

在这里插入图片描述

7. 身份运算符

身份运算符比较两个对象的内存位置。常用的有两个身份运算符。

运算符描述示例
is如果运算符任一侧的变量指向相同的对象,则返回True,否则返回False
is not如果运算符任一侧的变量指向相同的对象,则返回True,否则返回False-

在这里插入图片描述

运算符优先级

下表列出了从最高优先级到最低优先级的所有运算符

序号运算符描述
1**指数(次幂)运算
2~ + -补码,一元加减(最后两个的方法名称是+@-@)
3* / % //乘法,除法,模数和地板除
4+ -
5>> <<向右和向左位移
6&按位与
7^ I按位异或和常规的“OR
8<= < > >=比较运算符
9<> == !=等于运算符
10= %= /= //= -= += *= **=赋值运算符
11is is not身份运算符
12in not in成员运算符
13not or and逻辑运算符

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

go&Python

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

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

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

打赏作者

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

抵扣说明:

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

余额充值