6.1_2 Python3.x入门 P2 【基础】运算符

相关链接

  • 目录
  • Mac M1 Python环境搭建
  • Python3.x入门 P1 【基础】注释、标识符、变量、数据类型
  • Python3.x入门 P2 【基础】运算符
  • Python3.x入门 P3 【基础】流程语句【循环结构】
  • Python3.x入门 P4 【基础】可变序列(列表list、字典dict、集合set)
  • Python3.x入门 P5 【基础】不可变序列(元组tuple、字符串str)

常用运算符总结

"""
 @author GroupiesM
 @date 2022/4/27 12:15
 @introduction python运算符
"""
    1.算术运算符
        1.1 标准算术运算符 [+-*///]   //表示整除,向下取整
        1.2 取余运算符   [%]
        1.3 幂运算符    [**]
    2.赋值运算符
        执行顺序: 右->左
        支持链式赋值: a=b=c=20
        支持参数设置: +=-=*=/=//=%=
        支持系列解包赋值: a,b,c=20,30,40
    3.比较运算符
        [><>=<=!=]
        == -> 对象value的比较
        is,is not 对象id的比较
    4.布尔运算符
        andornot 取反
        in ('xx','xx',...) 在范围内
        not in ('xx','xx',...) 不在范围内
    5.位运算符
        & 位与 :对应数位都是1,结果数位才是1,否则为0
        | 位或 :对应数位都是0,结果位数才是0,否则为1
        << 左位移 :高位溢出舍弃,低位补0
        >> 右位移 :低位移除舍弃,高位补0

一、运算符

1.1 算数运算符

"""
 @author GroupiesM
 @date 2022/4/27 12:17
 @introduction 常用运算符01
     1.算术运算符
        1.1 标准算术运算符 [+、-、*、/、//]   //表示整除,向下取整
        1.2 取余运算符   [%]
        1.3 幂运算符    [**]
"""
# 1.1 标准算术运算符
print(1 + 1)  # 2
print(1 - 1)  # 0
print(2 * 3)  # 6
print(1 / 2)  # 0.5 除
print(11 // 2)  # 5 整除

# 1.2 取余运算符
print(11 % 2)  # 1

# 1.3 幂运算符
print(2 ** 4)  # 16   2^4 = 2*2*2*2 = 16

# 复杂情况
# 整除
print(-9 // -2)  # 4  (4.5 向下取整=4)
print(-9 // 2)  # -5  (-4.5 向下取整=-5)
# 余数 (被除数-除数*商)
print(9 % 4)  # 1   9-4*2 = 9-8 = 1
print(9 % -4)  # -3  9-(-4)*(-3) = 9 - (12) = -3
print(-9 % -4)  # -1 -9-(-4)*2 = -9 + 8 = -1

1.2 赋值运算符

"""
 @author GroupiesM
 @date 2022/4/27 13:29
 @introduction 常用运算符02
    2.赋值运算符
        执行顺序: 右->左
        支持链式赋值: a=b=c=20
        支持参数设置: +=、-=、*=、/=、//=、%=
        支持系列解包赋值: a,b,c=20,30,40
"""
a = 3 + 4
print(a)  # 7
"""
支持链式赋值: a=b=c=20
"""
a = b = c = 3

"""
支持系列解包赋值
"""
print(a + b + c)  # 9
a, b, c = 4, 5, 6
print(a + b + c)  # 15

a = 1
a += 1
print(a)  # 2
a *= 3
print(a)  # 6
a /= 5
print(a)  # 1.2

1.3 比较运算符

"""
 @author GroupiesM
 @date 2022/4/27 13:41
 @introduction 常用运算符03
    3.比较运算符
        [>、<、>=、<=、!=]
        == ->     value的比较
        is,is not 内存地址比较
"""
a, b = 10, 20
print('a>b?', a > b)  # False
print('a, a < b)  # True
print('a>=b?', a >= b)  # False
print('a<=b?', a <= b)  # True
print('a!=b?', a != b)  # True

print('a == b?', a == b)  # False (值不同)
print('a is b?', a is b)  # False (内存地址不同)
print('a is not b?', a is not b)  # True

"""
对于基本类型 值相同内存地址就相同
"""
a, b = 30, 30
print('a == b?', a == b)  # True
print('a is b?', a is b)  # True 内存地址相同
print('a is not b?', a is not b)  # False

"""
对于引用类型 值相同,引用类型不一定相同
"""
list1 = [11, 22, 33, 44]
list2 = [11, 22, 33, 44]
print(list1 == list2)  # True
print(list1 is list2)  # False 内存地址不同
print(id(list1), id(list2))  # 4370292096 4370298624
list2 = list1
print(list1 is list2)  # True 内存地址相同
print(id(list1), id(list2))  # 4370292096 4370292096

1.4 布尔运算符

"""
 @author GroupiesM
 @date 2022/4/27 13:52
 @introduction 常用运算符04
    4.布尔运算符
        and 且
        or 或
        not 取反
        in ('xx','xx',...) 在范围内
        not in ('xx','xx',...) 不在范围内

"""
a, b = 1, 2
t = a == 1
f = a > 1

print("-----and 且-----")
print(t and t)  # True
print(t and f)  # False
print(f and f)  # False

print("-----or 或-----")
print(t or t)  # True
print(t or f)  # True
print(f or f)  # False

print("-----not 取反-----")
print(not t)  # False
print(not f)  # True

print("-----in-----")
'''整型'''
print(3 in (3, 4, 5))  # True
print(7 in (1, 2, 3))  # False
'''字符串'''
print('p' in 'python')  # True
print('p' in 'java')  # False
'''列表'''
print(5 in [5, 6, 7])  # True
print('5' in [5, 'hello', True])  # False

print("-----not in-----")
print(3 not in (3, 4, 5))  # False
print(7 not in (1, 2, 3))  # True

1.5 位运算符

"""
 @author GroupiesM
 @date 2022/4/27 14:01
 @introduction 常用运算符05
    5.位运算符
        & 位与 :对应数位都是1,结果数位才是1,否则为0
        | 位或 :对应数位都是0,结果位数才是0,否则为1
        n<>m n右位移m位 :低位移除舍弃,高位补0,右移一位相当于/2
"""
# 4 : 0000 1000
# 8 : 0001 0000
""" &位与:对应数位都是1,结果数位才是1,否则为0
0000 1000
0001 0000
---------
0000 0000
"""
print(4 & 8)    # 0

""" |位或:对应数位都是0,结果位数才是0,否则为1
0000 1000
0001 0000
---------
0001 1000 -> 12
"""
print(4 | 8)    # 12

""" n< 8
"""
print(4 << 1)   # 8

"""n>>m n右位移m位:低位移除舍弃,高位补0
  0000 0100
 ---------- 右移2位
    00 0001 00
 ---------- 低位舍弃,高位补0
  0000 0001 -> 1
"""
print(4 >> 2)   # 1

二、运算符优先级

"""
@author GroupiesM
@date 2022/4/27 14:20
@introduction
"""
运算符优先级:
   ()括号 > 1.算数运算 :1.3幂运算 > 1.1标准算数运算符[*///%] > 1.1标准算数运算符[+-]
   > 5.位运算 : [<<>>] >  [&] > [|]
   > 3.比较运算符 [><>=<=!=]
   > 4 布尔运算符[and]  > 4 布尔运算符[or]
   > 2 赋值运算符

22/06/27

M

你可能感兴趣的:(六,python,python,开发语言)