005.Python基础语法_运算符

在这里插入图片描述

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈

在这里插入图片描述

运算符分类

  1. 算术运算符
  2. 比较运算符
  3. 逻辑运算符
  4. 位运算符符
  5. 赋值运算符
  6. 链式比较运算符
  7. 成员运算符
  8. 身份运算符

算术运算符

  • 假设:a = 10 , b = 2
    运算运算符描述实例输出结果
    加法运算+两个对象相加,或两个字符串相连接10 + 2
    ‘A’ + ‘C’
    12
    ‘AC’
    减法运算-两个对象相减10 - 28
    乘法运算*两个数相乘,或被重复若干次的字符串10 * 2
    ‘A’ * 3
    20
    AAA
    除法运算/返回两个数相除的结果,a 除以b9 / 24.5
    整除运算//返回小于商的最大整数9 // 2
    -9 // 2
    4
    -5
    取模运算%返回两个数相除的余数10 % 2
    9 % 2
    0
    1
    幂运算**乘方,a 的 b次方10 ** 2100
  • 一个数字与2取模,可以判断这个数字的奇偶性
  • 可以通过整除和取模运算判断行号和列号(行列均从0开始算)在这里插入图片描述
  • 例:获取上图中数字9所在的行和列
    print('row:', 9 // 4)
    print('col:', 9 % 4)
    
    # 这里的4是一行所排列的数字个数
    
    # 输出结果:
    row: 2
    col: 1
    
    # 因为行和列都是从0开始计算,所以第三行的行号是2,第2列的列号是1
    

比较运算符(关系运算符)

  • 假设:a = 10 , b = 2

    运算运算符描述实例输出结果
    值相等==判断两个对象的值是否相等a == bFalse
    id相等is判断两个对象id是否相等a is bFalse
    不等于!=判断两个数是否不相等a != bTrue
    大于>判断x是否大于ya > bTrue
    小于<判断x是否小于ya < bFalse
    大于或等于>=判断x大于y 或者 x等于ya >= bTrue
    小于或等于<=判断x小于y 或者 x等于ya <= bFalse
  • <> 在python2里面是不等于,在python3里已被!=取代

  • is 与 == 的区别

    • is 比较的是id
    • " == "比较的是值
  • 可以通过id()函数获取对象的id(id并不是内存地址,而是通过内存地址计算出来的,相当于内存地址的一个映射)

  • 示例:

    a=1000,b=1000
     a is b  ----------------> False
     a == b  ----------------> True 
    //注:用id(a)可以获取a在的id
    
  • ‘==’ 与 is 的区别
    在这里插入图片描述

逻辑运算符

  • 返回True或False

    运算运算符描述实例输出结果
    逻辑“与”and有 假 即为 假True and FalseFalse
    逻辑“或”or有 真 即为 真True or FalseTrue
    逻辑“非”not本 真 即为 假not TrueFalse
  • python语句中 and 比 or 的优先级高

  • 语句中 and 比 or 的优先级高

    • and:有False即为False
    • or:有True即为True
  • 示例

    a = True
    b = False
    c = False
    
    print(a or b and c)
    # 返回值:True
    
    print((a or b) and c)
    # 返回值:False
    
  • 图解:
    在这里插入图片描述

  • 逻辑或和逻辑与有短路特征在这里插入图片描述

  • 非布尔类型的值,如果作为真假来判断,一般都是非零即真,非空即真

    print('数字0:', bool(0))
    print('数字1:', bool(1))
    print('文本0:', bool('0'))
    print('空文本:', bool(''))
    print('None值:', bool(None))
    
    # 输出结果
    数字0False
    数字1True
    文本0True
    空文本: False
    None值: False
    
  • 整个逻辑表达式的结果不一定只有True和False

    print('1 and False:', 1 and False)  # 非零即真,and没有短路,判断后面的False,一假全假,输出False
    print('0 and False:', 0 and False)  # 零为假,and一假全假,短路特性,不会再判断后面的False,输出 0
    print('1 and 3:', 1 and 3)  # 非零即真,and没有短路,判断后面的3,全是真,所以输出 3
    print('1 or 3:', 1 or 3)   # 非零即真,or一真全真,短路特性,不在判断后面的3,输出 1
    print('0 or 3:', 0 or 3)   # 零为假,or没有短路,判断后面的3,非零即真,or一真全真,输出 3
    
    # 输出结果
    1 and FalseFalse
    0 and False0
    1 and 33
    1 or 31
    0 or 33
    
  • 位运算符符

  • 在计算机中,数据是按照字节进行存储的。一个字节是一个8位二进制数(由0和1组成),这个8位二进制数可以按位进行计算

  • 假设:a = 0b10110010 ———— 十进制数为:178

  • 假设: b = 0b01011110 ———— 十进制数为:94

    运算运算符描述实例输出结果
    位反~将值按位取反【~a = (a + 1) * (-1)】~a-179
    位与&有0则为0a & b18
    位或|有1则为1ab
    位异或^相同为0,相反为1a ^ b236
    右移>>将值按位向右移动指定位数,高位用符号位补位(正数是0,负数是1)a >> 244
    左移<<将值按位向左移动指定位数,低位用0补位a << 1100
  • 位反运算

    • 位反运算相当麻烦,并不是简单的将0变成1,1变成0。在计算机中一个数据的存储设计到反码和补码的问题。位反运算涉及到源码、反码、补码,这里我们不深究其原理,简单的了解位反运算,总结了一个公式:~a = (a + 1) * -1
  • 位与运算在这里插入图片描述

  • 位或运算在这里插入图片描述

  • 位异或运算在这里插入图片描述

  • 右移运算在这里插入图片描述

  • 左移运算在这里插入图片描述

赋值运算

  • 假设a = 10 , b = 2

    运算运算符描述实例输出结果
    直接赋值=直接赋值,简单的赋值运算a = 1010
    加法赋值+=加法赋值运算,a = a + ba += b12
    减法赋值-=减法赋值运算,a = a - ba -= b8
    乘法赋值*=乘法赋值运算,a = a * ba *= b20
    除法赋值/=除法赋值运算,a = a / ba /= b5
    取模赋值%=取模赋值运算,a = a % ba %= b0
    整除赋值//=整除赋值运算,a = a // ba //= b5
    幂赋值**=幂赋值运算,a = a ** ba **= b100
    位与赋值&=位与赋值运算,a = a & ba &= b
    位或赋值|=位或赋值运算,a = a | ba |= b
    位异或赋值^=位异或赋值运算,a = a ^ ba ^= b
    左移赋值<<=左移赋值运算,a = a << ba <<= b
    右移赋值>>=右移赋值运算,a = a >> ba >>= b

链式比较运算符

  • 链式比较运算符是python独有的,其他语言均没有
  • 语法
    10 < a <= 66
    
  • 示例
    num = 10
    
    # 判断num是否 大于5 并且 小于 20
    # 其他语言的写法
    # 5 < num and num < 20
    # 5 < num && num < 20
    
    # python用链式运算符写法
    5 < num < 20
    print(5 < num < 20)
    

运算符优先级

  • 运算顺序根据运算符优先等级进行运算,相同等级运算符从左到右运算
    优先级运算符说明
    1()小括号
    2**
    3~位反
    4+、-正负号
    5*、/、%、//乘、除、取余、地板除
    6+、-加、减
    7<<、>>左移、右移
    8&位与
    9^位异或
    10|位或
    11<、<=、>、>=、<>、!=、==比较
    12not逻辑非
    13and、or逻辑与、逻辑或
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失心疯_2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值