Python学习第二天之运算符

柳三千

文章最后更新时间:2025年06月13日

算数运算符

print(1+1)
print(1-1)
print(2*4)
print(1/2)
print(11/2)
print(11//2)
print(11%1)
print(2**3)

运算结果:

2
0
8
0.5
5.5
5
0
8

赋值运算符

s=3+4
print(s)

a=b=c=20  # 链式赋值
print(a, id(a))
print(b, id(b))
print(c, id(c))

print('----------------支持参数赋值--------------------')
a=20
a+=30  # 相当于a=a+30
print(a)

a-=10  # 相当于a=a-10
print(a)

a*=2   # 相当于a=a*2
print(a)

print('---------------------解包赋值------------')
a,b,c = 20,30,40
print(a,b,c)

print('---------------------交换两个变量的值------------')
a,b=10,20
print('交换之前:',a,b)

a,b=b,a
print('交换之后:',a,b)

运算结果:

7
20 2278679446352
20 2278679446352
20 2278679446352
----------------支持参数赋值--------------------
50
40
80
---------------------解包赋值------------
20 30 40
---------------------交换两个变量的值------------
交换之前: 10 20
交换之后: 20 10

比较运算符

a,b = 10,20
print('a>b吗?',a>b)
print('a<b吗?',a<b)
print('a>=b吗?',a>=b)
print('a<=b吗?',a<=b)
print('a!=b吗?',a!=b)

'''
= 称为赋值运算符, == 称为比较运算符,一个变量由三部分组成,标识,类型,值
== 比较的是值
is  比较的是对象的标识
'''
print('-------------------------------------')
a=10
b=10
print(a==b)  # True 说明a与b的value相等
print(a is b)  # True 说明a与b的id标识符相等


list1 = [11,22,33,44]
list2 = [11,22,33,44]
print(list1 == list2)
print(list1 is list2)

print(id(list1))
print(id(list2))

print(list1 is not list2)  # True a的id与b的id是不相等的

运算结果:
```
a>b吗? False
a<b吗? True
a>=b吗? False
a<=b吗? True
a!=b吗? True

True
True
True
False
2862488479936
2862488433664
True



### 布尔运算符  
![图片.png](http://liudx.cn/zb_users/upload/2023/03/202303191679222294793976.png)  
![图片.png](http://liudx.cn/zb_users/upload/2023/03/202303191679222307204549.png)  

```python
a,b = 1,2
print('-------------and  并且 ----------------------')
print(a==1 and b==2)  # True
print(a==1 and b<2)   # False
print(a!=1 and b==2)  # False
print(a!=1 and b!=2)  # False

print('-----------or 或者 --------------------------')
print(a==1 or b==2)   # True
print(a==1 or b<2)    # False
print(a!=1 or b==2)   # False
print(a!=1 or b!=2)   # False

print('-----------not 对bool类型运算取反 ------------------')
f = True
f2 = False

print(not f)
print(not f2)

print('-----------in 与 not in ------------------')
s = 'helloworld'
print('w' in s)    # 字符串 w 在 s 字符串变量里吗?
print('d' in s)
print('w' not in s)
print('d' not in s)

运算结果:

-------------and  并且 ----------------------
True
False
False
False
-----------or 或者 --------------------------
True
True
True
False
-----------not 对bool类型运算取反 ------------------
False
True
-----------in 与 not in ------------------
True
True
False
False

位运算符

print(4&8)  # 按位与&,同为1时结果为1
print(4|8)  # 按位或|,同为0时结果为0
print(4<<1) # 左移1位,相当于乘以2
print(4<<2) # 左移2位

print(4>>1)  # 右移1位,相当于除以2
print(4>>2)  # 右移2位,相当于除以4

结果运算:

0
12
8
16
2
1

运算符优先级

优先级从高到低:

文章版权声明:除非注明,否则均为柳三千运维录原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码