• python 运算符与表达式


    1、运算符

    1.1 算数运算符

      +、-、*、/、//、%(取余)、**(幂)

      注意:
      1> 除法运算中除数不为0,/:结果为浮点数,//:结果为整数
      2> 在算数操作符中使用%求余,结果只与除数(第二个操作数)的正负有关

    1.2 赋值运算符

      赋值运算符与四则运算符组合:实现把赋值运算符左右两侧的内容进行相应的四则运算后,把结果赋值给变量


      

    实例:
    # -*- coding:utf-8 -*-
    # version:python3.7
    a = 2 a += 1 print(a) 执行结果: 3

    1.3 比较(关系)运算符

      用于对变量或表达式的结果进行大小、真假等比较。比较的结果为真,则返回True,为假,则返回False。通常用在条件语句中作为判断的依据。


      

    实例:判断python和english的成绩是否合格
    # -*- coding:utf-8 -*-
    # version:python3.7
    
    python = float(input("please enter your python score:"))
    english = float(input("please enter your english score:"))
    if python >= 60:
        print("Your python score is qualified.")
    if python < 60:
        print("Your python score is disqualified.")
    if english >= 60:
        print("Your english score is qualified.")
    if english < 60:
        print("Your english score is disqualified.")
    
    执行结果:
    please enter your python score:56
    please enter your english score:72
    Your python score is disqualified.
    Your english score is qualified.

    1.4 逻辑运算符

      对布尔值(真和假)进行逻辑与、逻辑或、逻辑非运算

        1> 逻辑与(and):一假则假

        2> 逻辑或(or):一真则真

        3> 逻辑非(not):条件为真,结果为假;条件为假,结果为真

    实例:
    # -*- coding:utf-8 -*-
    # version:python3.7
    
    a = float(input("请输入a的值:"))
    b = float(input("请输入b的值:"))
    if a > 60 and b > 60:
        print("a和b都大于60")
    else:
        print("a和b不都大于60")
    
    执行结果:
    请输入a的值:56
    请输入b的值:66
    a和b不都大于60

    1.5 位运算符

      把数据看成二进制数进行计算:

        1> 位与运算(&):两个操作数按二进制数表示,对应位都为1,结果位才为1

        2> 位或运算(|):两个操作数按二进制数表示,对应位都为0,结果位才为0

        3> 位异或运算(^):两个操作数按二进制数表示,对应位同为1或同为0,结果为0,否则为1

    9 % 2 == 1     #判断是否为奇数
    9 & 1 == 1     #判断是否为奇数
    #&与运算,都为1才为1,奇数转换为二进制最后一位必为1
    位异或实例1:两个数互换值
    # -*- coding:utf-8 -*-
    # version:python3.7
    
    a = int(input("请输入a的值:"))
    b = int(input("请输入b的值:"))
    a = a ^ b
    b = a ^ b
    a = a ^ b
    print("a的值为:",a)
    print("b的值为:",b)
    
    执行结果:
    请输入a的值:5
    请输入b的值:6
    a的值为: 6
    b的值为: 5
    位异或实例2:简单加密
    # -*- coding:utf-8 -*-
    # version:python3.7
    
    pwd = int(input("请输入密码:"))
    key = int(input("请输入秘钥:"))
    password = pwd ^ key
    print("加密后的结果:",password)
    print("解密后的结果:",password ^ key)
    
    执行结果:
    请输入密码:123456
    请输入秘钥:55
    加密后的结果: 123511
    解密后的结果: 123456

        4> 位取反运算(~):把二进制操作数,对应位1变为0,0变为1

        5> 左移位运算符(<<):把二进制操作数,向左移动相应位数,左边最高位溢出时被丢弃,右边空位用0补齐(左移位相当于乘以2的n次幂)

        6> 右移位运算符(>>):把二进制操作数,向右移动相应位数,右边溢出位被丢弃,左边最高位如果是0补0,是1补1(右移位相当于除以2的n次幂)

    实例:左移一位相当于乘以2的n次幂,右移一位相当于除以2的n次幂
    # -*- coding:utf-8 -*-
    # version:python3.7
    
    number = 32
    print("左移一位:",number << 1)
    print("右移一位:",number >> 1)
    
    执行结果:
    左移一位: 64
    右移一位: 16

    1.6 成员运算符

      in、not in

    1.7 身份运算符

      is、is not

    1.8 运算符的优先级

      按运算符优先级从高到低运算,同一级别从左到右顺序执行,可以使用()改变优先级

      

    2、条件表达式

      基本语法:结果1 if 表达式 else 结果2

        结果1为表达式结果为True的值,结果2位表达式结果为False的值

      语法演变:variable = [结果1] if [表达式] else [结果2]

    实例1:输出a、b中的较大数
    # -*- coding:utf-8 -*-
    # version:python3.7
    
    a = float(input("请输入a的值:"))
    b = float(input("请输入b的值:"))
    r = a if a > b else b
    print("输出较大数:",r)
    
    执行结果:
    请输入a的值:4.5
    请输入b的值:6.88
    输出较大数: 6.88
    实例2:输出a的绝对值
    # -*- coding:utf-8 -*-
    # version:python3.7
    
    a = float(input("请输入a的值:"))
    b = a if a > 0 else -a
    print("a的绝对值为:",b)
    
    执行结果:
    请输入a的值:-7.4
    a的绝对值为: 7.4

      短路:提高效率

    #短路:
    1 > 2 and 3 > 2     #1>2 第一个比较运算符为False,根据and逻辑运算符,则整体为False
    2 > 1 or 3 > 4      #2>1第一个比较运算符为True,根据or逻辑运算符,则整体为True
  • 相关阅读:
    去掉ASP.NET Development Server 中的虚拟路径
    实战 SQL Server 2008 数据库误删除数据的恢复
    人的一生,到底在追求什么?
    每日一记20211215
    CentOS系统配置本地yum源
    mysql修改和查看时区
    依赖报错问题
    没想到MarkText竟然是一款比Typora更简洁优雅的markdown编辑器,完全开源免费!
    免费javascript富文本编辑器 总有一款会适合你!
    90%的人都不知道网页文字被禁止如何复制,教你几招神奇技能就可以免费解决,一定要看完!
  • 原文地址:https://www.cnblogs.com/zyybky/p/12426465.html
Copyright © 2020-2023  润新知