最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Python逻辑运算符及其用法

    正文概述    2020-02-06   266

    Python逻辑运算符及其用法

    逻辑运算符用于操作 bool 类型的变量、常量或表达式,逻辑运算的返回值也是 bool 值。

    Python 的逻辑运算符有如下三个:

    and:与,前后两个操作数必须都是 True 才返回 True;否则返回 False。

    or:或,只要两个操作数中有一个是 True,就可以运回 True;否则返回 False;

    not:非,只需要一个操作数,如果操作数为 True,则返回 False;如果操作数为 False,则返回 True。

    下面代码示范了与、或、非这三个逻辑运算符的使用:

    # 直接对False求非运算,将返回True
    print(not False)
    # 5>3返回True,20.0大于10,因此结果返回True
    print(5 > 3 and 20.0 > 10)
    # 4>=5返回False,"c">"a"返回True。求或后返回True
    print(4 >= 5 or "c" > "a")

    有些时候,程序需要使用多个逻辑运算符来组合复杂的逻辑。例如,假设想表达如下逻辑:需要购买一套必须以“Python”结尾的教程,且教程价格小于 50 元或该教程是基于“正式版”的。假如使用如下程序:

    bookName = "C语言中文网Python"
    price = 99
    version = "正式版"
    if bookName.endswith('Python') and price < 50 or version == "正式版" :
        print("打算购买这套Python教程")
    else:
        print("不购买!")

    编译、运行上面程序,可以看到程序输出“打算购买这套Python教程”。那么上面程序是否有问题呢?

    其实问题是存在的,这是因为程序会先计算 bookName.endswith('Python') and price < 50,即使该逻辑表达式中的两个条件都是 False,但只要后面的 version==“正式版” 返回 True,整个表达式就会返回 True,从而导致程序依然会输出“打算购买这套Python教程”。因此,即使把上面程序中的 bookName 改为不以“Python”结尾,程序也依然会输出“打算购买这套Python教程”。

    运算结果显然与逻辑需求并不一致,逻辑需求是:需要购买一套名以“Python” 结尾的教程。此时应该使用圆括号来保证程序先对 price < 50 || version =="正式版" 求值,然后再与 bookName.endswith('Python') 的结果求与。

    因此,应该把程序改为如下形式:

    bookName = "C语言中文网Python"
    price = 99
    version = "正式版"
    if bookName.endswith('Python') and (price < 50 or version == "正式版") :
        print("打算购买这套Python教程")
    else:
        print("不购买!")

    从上面代码可以看出,对于组合逻辑来说,使用圆括号保证运算顺序非常重要。

    需要说明的是,即使不是为了保证逻辑运算的顺序,且有括号和没括号的输出结果是一样的,本教程也依然建议使用圆括号来提高程序的可读性。


    起源地下载网 » Python逻辑运算符及其用法

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元