【Python-基础】常用的运算符

【Python-基础】常用的运算符,第1张

文章目录
    • 1、算数运算符
    • 2、赋值运算符
    • 3、比较运算符
    • 4、布尔运算符
    • 5、位运算符
    • 6、运算符的优先级

1、算数运算符
1. +
2. -
3. *
4. /
5. //
6. %
7. **

基本的算数运算如下:

print(1+1) # 加法运算 2
print(1-1) # 减法运算 0
print(2*4) # 乘法运算 8
print(5/2) # 除法运算 2.5
print(5//2) # 整除运算 2
print(5%2) # 取余运算 1
print(2**10) # 幂运算 1024

但是有时候会有带有负号的整除和取余运算,当遇到一正一负的整除,是需要向下取整;当遇到一正一负的取余,余数 = 被除数 - 除数 * 商。



案例如下:

print(9//4) # 2
print(-9//-4) # 2
print(-9//4) #-3
print(9//-4) #-3 一正一负的整数公式,向下取整

print(-9%4) # 余数 = 被除数 - 除数 * 商 -9-4*(-3)= 3
print(9%-4) # 9-(-4)*(-3) = -3
2、赋值运算符
  1. 支持链式赋值: a = b = c = 20
  2. 支持参数赋值:+= 、-=、*=、/=、%=、//=
  3. 支持系列解包赋值:a,b,c = 2,3,4

链式赋值类似于多个指针指向同一个内存地址,案例如下:
程序:

# 赋值运算符,顺序从右到左
print('---------支持链式赋值---------')
a = b = c = 3+4
print('a: ', a, id(a))
print('b: ', b, id(b))
print('c: ', c, id(c))

输出:

---------支持链式赋值---------
a:  7 2480425140656
b:  7 2480425140656
c:  7 2480425140656

参数赋值如下
程序:

print('---------支持参数赋值--------')
a = 20
a += 30
print(a) # 50
a -= 10
print(a) # 40
a *= 2
print(a) # 80
a //= 3
print(a) # 26
a /= 5
print(a) # 5.2
a %= 3
print(a) # 2.2

输出:

---------支持参数赋值--------
50
40
80
26
5.2
2.2

系列解包赋值如下,值得注意的是当需要交换两个数的值的时候,Python中可以不手动创建临时变量,直接使用解包赋值就可以实现。



程序:

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)

输出:

---------支持系列解包赋值--------
20 30 40
-------交换两个变量的值-------
交换之前: 10 20
交换之后: 20 10
3、比较运算符

1.> 、<、>=、<=、!=
2. == :比较的是对象的 value 值
3. is、is not :比较的是对象的 id

案例如下:
程序:

# 比较运算符的结果是 bool 类型
a, b = 10, 20
print('a > b ?',a > b) # False
print('a < b ?',a < b) # True
print('a >= b ?',a >= b)# False
print('a <= b ?',a <= b)# True
print('a == b ?',a == b)# False
print('a != b ?',a != b)# True

输出:

a > b ? False
a < b ? True
a >= b ? False
a <= b ? True
a == b ? False
a != b ? True

程序:

a = 10
b = 10
print('a==b?',a==b) # True,说明 a b的value相等
print('a is b?',a is b)# True,说明 a b的id相等
print('a is not b?',a is not b)
list1 = [1,2,3,4]
list2 = [1,2,3,4]
print('list1 == list2?',list1 == list2) # True
print('list1 is list2?',list1 is list2) # False

输出:

a==b? True
a is b? True
a is not b? False
list1 == list2? True
list1 is list2? False
4、布尔运算符
  1. and : 与
  2. or: 或
  3. not:非
  4. in:是否在字符串内
  5. not in:是否不在字符串内
    程序:
# 布尔运算符
a,b = 1,2
# =========== 与 and ==========
print(a==1 and b==2) # True
print(a==1 and b<2) # False

# =========== 或 or ==========
print(a==1 or b<2)# True
print(a<1 or b<2)# False

# =========== 非 not ==========
print(not True) # False

# =========== in ==========
s='helloworld'
print('wo' in s)# True
print('d' in s)# True

# =========== not in ==========
print('x' not in s)# True
print('o' not in s)# False
5、位运算符
  1. 位与 &
  2. 位或 |
  3. 左移运算符 << :高位溢出舍去、低位补0
  4. 右移运算符 >> :低位溢出舍去、高位补0

程序:

# & 运算
print(4 & 8) # 0
print(4 & 5) # 4
# | 运算
print(4 | 8) # 12
# << 左移
print(2 << 2) # 8
# >> 右移
print(8 >> 2 ) # 2
6、运算符的优先级

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/567802.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存