Python 运算符和表达式

运算符和表达式

表达式

是值,变量和操作符(或叫运算符)的组合。单独的一个值是一个表达式,单独的变量也是一个表达式。

运算符

算数运算符(必会)

运算符描述
+两个对象相加
-减-得到负数或是一个数减去另一个数
*乘-两个数相乘或是返回一个被重复若干次的字符串
/除-x除以y
%取模-返回除法的余数
**幂-返回x的y次幂
//取整除-向下取接近除数的整数
同时获得商和余数
divmod(13, 5)  # (2, 3)

例:

a = 10
b = 20
print(a + b)  # 30
print(a - b)  # -10
print(a * b)  # 200
print(a / b)  # 0.5
print(a % b)  # 10
print(a ** b)  # 100000000000000000000
print(a // b)  # 0

比较运算符(必会)

运算符描述
==等于-比较对象是否相等
!=不等于-比较两个对象是否不相等
>大于-返回x是否大于y
<小于-返回x是否小于y
>=大于等于-返回x是否大于等于y
<=小于等于-返回x是否小于等于y

例:

a = 10
b = 20
print(a == b)  # False
print(a != b)  # True
print(a > b)  # False
print(a < b)  # True
print(a >= b)  # False
print(a <= b)  # True

赋值运算符(会用)

运算符描述
=简单的赋值运算符
=+加法赋值运算符
-=减法赋值运算符
*=乘法赋值运算符
/=除法赋值运算符
%=取模赋值运算符
**=赋值运算符
//=取整除赋值运算符

位运算符(计算机专业了解)

运算符描述
&按位与
|按位或
^按位异或
~取反
<<左移
>>右移
lis = [0, 1]
o = ['&', '|', '^']
print(f'│{"a":^3}│{"b":^3}│'
      f'{"a" + o[0] + "b":^3}│'
      f'{"a" + o[1] + "b":^3}│'
      f'{"a" + o[2] + "b":^3}│')
for a in lis:
    for b in lis:
        print(f'│{a:^3}│{b:^3}│'
              f'{eval("a" + o[0] + "b"):^3}│'
              f'{eval("a" + o[1] + "b"):^3}│'
              f'{eval("a" + o[2] + "b"):^3}│')
'''
│ a │ b │a&b│a|b│a^b│
│ 0 │ 0 │ 0 │ 0 │ 0 │
│ 0 │ 1 │ 0 │ 1 │ 1 │
│ 1 │ 0 │ 0 │ 1 │ 1 │
│ 1 │ 1 │ 1 │ 1 │ 0 │
 '''
a = 11
print(a << 1)  # 22
print(a >> 1)  # 5(非2的倍数精度丢失)
print(-a << 1)  # -22
print(-a >> 1)  # -6(向下丢失)

逻辑运算符(必会)

运算符描述
and布尔 “与”
or布尔 “或”
not布尔 “非”
lis = [True, False]
o = [' and ', ' or ']
print(f'│{"a":^7}│{"b":^7}│'
      f'{"a" + o[0] + "b":^7}│'
      f'{"a" + o[1] + "b":^7}│')
for a in lis:
    for b in lis:
        print(f'│{a:^7}│{b:^7}│'
              f'{eval("a" + o[0] + "b"):^7}│'
              f'{eval("a" + o[1] + "b"):^7}│')
'''
│   a   │   b   │a and b│a or b │
│   1   │   1   │   1   │   1   │
│   1   │   0   │   0   │   1   │
│   0   │   1   │   0   │   1   │
│   0   │   0   │   0   │   0   │
'''
print(not True)  # False
print(not False)  # True
短路原则
print(0 and 0)  # 0
print(0 and 10)  # 0
print(10 and 0)  # 0
print(10 and 10)  # 10
print(0 or 0)  # 0
print(0 or 10)  # 10
print(10 or 0)  # 10
print(10 or 10)  # 10
优先级

not > and > or

print(False and True or False)  # False
print(not True and True or False)  # False

成员运算符(必会,学完全部数据类型后)

运算符描述
in如果在指定的序列中找到值返回True ,否则返回False
not in如果在指定的序列中没有找到值返回True,否则返回False
print('1' in '123')  # True
print(1 in [1, 2, 3])  # True
print(1 in (1, 2, 3))  # True
print('a' in {'a': None})  # True

print('1' not in '123')  # False
print(1 not in [1, 2, 3])  # False
print(1 not in (1, 2, 3))  # False
print('a' not in {'a': None})  # False

身份运算符(必会,学完面向对象后)

运算符描述
isis是判断两个标识符是不是引用自一个对象
is notis not是判断两个标识符是不是引用自不同对象
o1 = object()
o2 = o1
o3 = object()
print(o1 is o2)  # True
print(o1 is o3)  # False
获取内存地址方法

id(object)

运算符优先级

凭直觉,加括号

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值