python中的逻辑运算符的运算规则,python逻辑操作符
逻辑运算符用于运算bool类型的变量、常量或表达式,逻辑运算的返回值也是bool值。
Python的逻辑运算符如下:
And: and,前后两个操作数必须为真才能返回真;否则,返回False。
Or: or,只要两个操作数中有一个为真,就可以回运True;否则为假;被返回;
Not:否,只需要一个操作数,如果操作数为True,则返回False;如果操作数为假,则返回真。
下面的代码演示了三个逻辑运算符AND、OR和NOT的用法:
#直接否定False会返回True。
打印(非假)
#53返回True,20.0大于10,所以结果返回True
印刷(53和20.010)
#4=5返回False, ca 返回True。或者返回True。
Print(4=5orca )有时,程序需要使用多个逻辑运算符来组合复杂的逻辑。举个例子,假设你要表达如下逻辑:你需要购买一套必须以“Python”结尾的教程,教程价格在50元以内或者教程基于“官方版”。如果使用以下程序:
书名=《Python在C语言中文网站》
价格=99英镑
Version=官方版本
如果名字。Endswith (Python )和price 50或version==正式版 3360
打印(打算买这个Python教程)
else:
打印(不要买!)编译运行上面的程序,可以看到程序输出“我打算买这个Python教程”。那么上面的程序有问题吗?
其实是有问题的。这是因为程序会先计算bookname.endswith (Python )和price50。即使这个逻辑表达式中的两个条件为假,只要后面的版本==“正式版”返回真,整个表达式就会返回真,导致程序仍然输出“我打算买这个Python教程”。所以即使上面程序中的bookName改成了不以“Python”结尾,程序还是会输出“我打算买这个Python教程”。
显然,操作的结果并不符合逻辑要求,那就是你需要购买一套名称以“Python”结尾的教程。这时候要用括号保证程序先评估price 50 version==正式版,然后用bookName.endswith(Python )的结果求和。
因此,该过程应更改为以下形式:
书名=《Python在C语言中文网站》
价格=99英镑
Version=官方版本
Bookname.endswith (Python )和(价格50或版本==正式版):
打印(打算买这个Python教程)
else:
打印(不要买!从上面的代码可以看出,组合逻辑使用括号来保证运算的顺序是非常重要的。
需要注意的是,即使不是为了保证逻辑运算的顺序,并且有括号和没有括号的输出结果是一样的,本教程还是建议使用括号来提高程序的可读性。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。