python中的运算符

目录

算术运算符

字符串的相乘

赋值运算符

链式赋值

系列解包赋值

运用系列解包赋值交换值 

 比较运算符

逻辑运算符

位运算

& - 按(二进制)位与:

| - 按(二进制) 位或:

 ^ - 按(二进制)位异或:

~ - 按(二进制)位取反:

<< - 左移位运算符:

>> - 右移位运算符:

运算符的优先级:


算术运算符

(图片来自B站BV1wD4y1o7AS,P19)

字符串的相乘

print('-' * 10)  # 打印----------


赋值运算符

(图片来自B站 BV1wD4y1o7AS,P20)、

字符串的分解赋值

a, b, c, d = 'room'
print(a)  # 打印r
print(b)  # 打印O
print(c)  # 打印O
print(d)  # 打印m

如果变量不够字符串赋值

链式赋值

a = b = c = 100
print(a, b, c)  # 打印3个100

系列解包赋值

a, b = 10, 20
print(a, b)  # 打印10 20

运用系列解包赋值交换值 

a, b = 10, 20
a, b = b, a
print(a, b)  # 打印20 10

 比较运算符

成立返回True,不成立返回False

 (图片来自B站BV1wD4y1o7AS,P21)

>=(<=),表示大于或等于(小于或等于),只要满足一个,就是True

逻辑运算符

 (图片来自B站BV1wD4y1o7AS,P21)

print(8 > 7 and 6 > 5)  # True
print(8 < 7 and 10 / 0)  # False

10 / 0 没有运算

因为逻辑与 and 要两个都是 True 才是 True,所以当第一个表达式的结果为 False 直接得结果,不会计算 and 右侧的表达式了

print(8 > 7 or 10 / 0)  # True

逻辑或 or,当左侧的表达式结果为True时,or 的右侧表达式不执行运算符

位运算

& - 按(二进制)位与:

两个都是 1 才是 1

print('按位与运算:', 12 & 8)  # 打印8
'''
12     - 1100
8      - 1000
12 & 8 - 1000 
'''

| - 按(二进制) 位或:

有一个是 1 就是 1

print(4 | 8)  # 打印12
'''
4      - 0100
8      - 1000
4 | 8  - 1100  
'''

 ^ - 按(二进制)位异或:

两个不同才是 1,相同就是 0

print(15 ^ 9)  # 打印6
'''
15     - 1111
9      - 1001
15 ^ 9 - 0110  
'''

~ - 按(二进制)位取反:

取反 

print(~ 123)  # 打印-124
'''
123     - 0000 0000 0111 1011(123的补码)
~123    - 1111 1111 1000 0100(~123的补码,取反)
-124    - 1000 0000 0111 1100(原码)  
'''

<< - 左移位运算符:

将二进制数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用 0 补充

(图片来自B站BV1wD4y1o7AS,P23)

print(2 << 2)  # 8,2* 2*2(移动2位,本身的2乘两个2)
print(2 << 3)  # 16,2* 2*2*2(移动3位,本身的2乘三个2)
print(4 << 2)  # 16,4* 2*2

>> - 右移位运算符:

将一个二进制数向右移动指定的位数,右边(低位端)溢出的位被丢弃

左边(高位端)的空位端,如果最高位是 0 (正数),左侧空位填 0;如果最高位是 1(负数),左侧空位填1

(图片来自B站BV1wD4y1o7AS,P23)

print(8 >> 2)  # 2,8 // 2 // 2(向右移动两位,除两次2)
print(-8 >> 2)  # -2,-8 // 2 // 2
print(12 >> 3)  # 1,12 // 2 // 2 // 2 = 1.5,向小的取整
print(-12 >> 3)  # -2,向小的取整

运算符的优先级:

(图片来自B站BV1wD4y1o7AS,P23) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值