十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
创新互联建站网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都网站设计、做网站、成都外贸网站建设公司,app软件定制开发以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。创新互联建站深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!这篇文章将为大家详细讲解有关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逻辑运算符怎么使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。