• 6.条件、逻辑运算符、in、is


    1.条件

    • 第一大类:显示布尔值

      ①条件可以是:比较运算符

    age = 18
    print(age > 16) # 条件判断后会得到一个布尔值
    

    ​ ②条件可以是:True、False

    • 第二大类:隐式布尔值,所有值都可以当成条件去用

      其中0、None、空(空字符串、空列表、空字典)=》代表的布尔值为False,其余都为真

    2.逻辑运算符

    2.1not、and、or的基本使用

    • not:就是把紧跟气候的那个条件结果取反

      not与紧跟其后的那个条件是一个不可分割的整体

    print(not 16 > 13)
    print(not True)
    print(not False)
    print(not 10)
    print(not 0)
    print(not None)
    print(not '')
    
    • and:逻辑与,and用来连接左右两个条件,两个条件同时为True才为真

      条件1 and 条件2

    print(True and 10 > 3)
    print(True and 10 > 3 and 10 and 0) # 条件全为真,最终结果才为True
    
    • or:逻辑或,or用来连接左右两个条件,两个条件但凡有一个为True,最终结果就为True,两个条件都为False的情况下,最终结果才为False

    2.2not、and、or的优先级

    优先级:not>and>or

    如果单独就只是一串and连接或者说单独就是一串or连接,按照从左到右顺序依次运算即可(偷懒原则)

    如果是混用,就需要考虑优先级了

    3.成员运算符与身份运算符

    • in
    print('egon' in 'hello egon') # 判断一个字符串是否存在于一个大字符串中
    print('e' in 'hello egon') # 判断一个字符串是否存在于一个大字符串中
    
    print(111 in [111,222,333]) # 判断元素是否存在于列表中
    
    print('k1' in {'k1':111,'k2':222}) # 判断key是否在于字典中
    
    • not in
    print('egon' not in 'hello egon') # 推荐使用
    print(not 'egon' in 'hello egon') # 逻辑同上,但语义不明确,不推荐
    
    • is 身份运算符

    is:判断id是否相等

  • 相关阅读:
    Django关于StreamingHttpResponse与FileResponse响应文件或视频的下载请求
    APScheduler可能遇到的问题
    django中model聚合使用
    Java 递归判断迷宫问题是否有路
    direct path read/write (直接路径读/写)
    DRM 简介
    SQL Server2008表名中含“.”号处理方法
    Java学习之:JDK动态代理与CGLIB动态代理
    强大易用!新一代爬虫利器 Playwright
    为什么cudaMalloc()参数是二级指针
  • 原文地址:https://www.cnblogs.com/Psc-mmf/p/13904666.html
Copyright © 2020-2023  润新知