第二章:(二)python中的运算符(从0开始学python)

本文详细介绍了Python中的运算符优先级,包括括号、指数、一元运算、乘除取模、加减、位移和位运算、关系运算、赋值、身份和成员运算,以及逻辑运算符如and、or、not的用法。同时涵盖了位运算符如与、或、非、异或,以及左移和右移操作。
摘要由CSDN通过智能技术生成

1.1 python中运算符优先级

Python中运算符的优先级如下:

1. 括号:最高优先级,用于改变运算顺序。
2. 指数运算符:**
3. 一元运算符:+x、-x、~x、x+0、x-0、x*1、x/1、x%1、+x、-x、not x
4. 乘法、除法、取模、整除:*、/、%、//
5. 加法、减法:+、-
6. 位移运算符:>>、<<
7. 位运算符:&
8. 位运算符:^
9. 位运算符:|
10. 关系运算符:<>、<、>、<=、>=
11. 等于运算符:==
12. 不等于运算符:!=
13. 赋值运算符:=、+=、-=、*=、/=、%=、//=、**=、&=、^=、|=
14. 身份运算符:is、is not
15. 成员运算符:in、not in

1.2 赋值运算符

赋值运算符用于为变量赋值,也就是将变量赋予新的数值,它包括以下八种简单的赋值运算符:

a = 10  # 将10赋值给变量a
b = "Hello"  # 将字符串"Hello"赋值给变量b
c = [1, 2, 3]  # 将列表[1, 2, 3]赋值给变量c
a += 5  # 等同于 a = a + 5,将变量a的值增加5
b *= 3  # 等同于 b = b * 3,将变量b的值乘以3
c /= 2  # 等同于 c = c / 2,将变量c的值除以2

1.3 比较运算符

比较运算符,它又叫做关系运算符,用于比较数值大小相等,他会给计算机返回 “True” 或者 “False”,也就是布尔值,来告诉比较的结果是 “是” 还是 “否”。下面就是一些最常用的比较运算符。

a = 20
b = 10
if a > b:
    print("a is greater than b")
a = 10
b = 20
if a < b:
    print("a is less than b")
a = 10
b = 20
if a == b:
    print("a and b are equal")
a = 10
b = 30
if a != b:
    print("a and b are not equal")
a = 20
b = 10
if a >= b:
    print("a is greater than or equal to b")
a = 10
b = 20
if a <= b:
    print("a is less than or equal to b")

1.4 逻辑运算符

逻辑运算符大体常用的有三种,"and","or","not",and 是逻辑与,就是当逻辑运算符 and 左右两侧表达式的值都为 True 时返回 True,否则返回 False,我们可以理解为并且;or 就是逻辑或,就是当逻辑运算符 or 左右两侧表达式的值有任意一个是 True 就返回 True,两个都为 False 时才返回 False;而 not 是逻辑非,当逻辑运算符 not 后面接入的表达式值为 True,他就返回 False,当值为 False,就返回 True,正好是一个是与非颠倒的过程。

a = 10
b = 20
if a > 0 and b > 0:
    print("Both conditions are true")
a = -10
b = 20
if a < 0 or b < 0:
    print("At least one of the conditions is true")
a = 10
if not a > 20:
    print("a is not greater than 20")

1.5 位运算符

位运算符为运算符,只能用于二进制的运算,计算时需将位对齐,一位一位计算,计算结果显示二进制结果对应的十进制数,就是说我们真正在计算的时候,需要将十进制的操作数转换为二进制的操作数,进行计算,在计算完毕后,再把作为结果的二进制数转换成十进制数进行输出。我们来具体认识一下有哪些位运算符。

位与运算符(&):将两个数的二进制表示进行与运算,如果两个相应的二进制位都为1,则结果为1,否则为0。

a = 0b1010  # 10 in binary
b = 0b1100  # 12 in binary
result = a & b  # 8 in binary (1000)
print(bin(result))  # print the binary representation of the result

位或运算符(|):将两个数的二进制表示进行或运算,如果两个相应的二进制位中有一个为1,则结果为1,否则为0。

a = 0b1010  # 10 in binary
b = 0b1100  # 12 in binary
result = a | b  # 14 in binary (1110)
print(bin(result))  # print the binary representation of the result


位非运算符(~):对一个数的二进制表示进行取反操作,将所有的1变为0,0变为1。

a = 0b1010  # 10 in binary
result = ~a  # -11 in binary (the binary representation of -11 is inverted)
print(bin(result))  # print the binary representation of the result

位异或运算符(^):将两个数的二进制表示进行异或运算,如果两个相应的二进制位有一个为1且另一个为0,则结果为1,否则为0。

a = 0b1010  # 10 in binary
b = 0b1100  # 12 in binary
result = a ^ b  # 6 in binary (0110)
print(bin(result))  # print the binary representation of the result

右移运算符(>>):将一个数的二进制表示向右移动指定的位数,并在右侧用0填充空位。

a = 0b1010  # 10 in binary
result = a >> 2  # 2 in binary (0010 in binary)
print(bin(result))  # print the binary representation of the result

左移运算符(<<):将一个数的二进制表示向左移动指定的位数,并在左侧用0填充空位。

a = 0b1010  # 10 in binary
result = a << 2  # 40 in binary (101000 in binary)
print(bin(result))  # print the binary representation of the result

 1.6 身份运算符

身份运算符分为两种,一种是 is,如果两个操作数储存在同一物理地址就返回 True,一种是 is not,如果两个操作数不在一个物理地址返回 True。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值