Python逻辑运算符及其用法

操作中使用逻辑操作符 bool 逻辑操作的返回值也是类型的变量、常量或表达式 bool 值。
Python 有三个逻辑操作符:
and:和,前后两个操作数必须是 True 才返回 True;否则返回 False。
or:或者,只要两个操作数中有一个是, True,就可以运回 True;否则返回 False;
not:非,只需要一个操作数,如果操作数是 True,则返回 False;若操作数为 False,则返回 True。
以下代码显示了三个逻辑操作符的使用:和,或,非:
#直接对False进行非计算,将返回True print(notFalse) #5>3.返回True,20.0大于10,结果返回True print(5>3and20.0>10) #4>=5返回False,"c">"a"返回True。请求或返回True。 print(4>=5or"c">"a")
有时,程序需要使用多个逻辑操作符来组合复杂的逻辑。例如,假设你想表达以下逻辑:你需要购买一套必须是“Python“结束教程,教程价格小于 50 以“正式版”为基础的元或本教程。若使用以下程序:
bookName="中文网Pythonc语言"
price=99
version="正式版"
ifbookName.endswith('Python')andprice<50orversion=="正式版":
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="中文网Pythonc语言"
price=99
version="正式版"
ifbookName.endswith('Python')and(price<50orversion=="正式版"):
print("计划购买这套Python教程")
else:
print("不购买!")从上面的代码可以看出,圆括号的使用对于组合逻辑来说非常重要。需要注意的是,即使不是为了保证逻辑操作的顺序,括号的输出结果与无括号的输出结果相同,本教程仍然建议使用圆括号来提高程序的可读性。
