Python中的逻辑运算符‘and’、‘or’和‘not’

首先,‘and’、‘or’和‘not’的优先级是not>and>or。

其次,逻辑操作符and 和or 也称作短路操作符(short-circuitlogic)或者惰性求值(lazy evaluation):它们的参数从左向右解析,一旦结果可以确定就停止。例如,如果A 和C 为真而B 为假, A and B and C 不会解析C 。作用于一个普通的非逻辑值时,短路操作符的返回值通常是最后一个变量。因此,逻辑运算符的理解也与C语言中不同。举个例子:

>>> 3 and 4
4
>>> 4 and 3
3
>>> 4 or 3
4
>>> 3 or 4
3

在以上例子中,按照C语言对的思维,3 and 4即3与4为3,但是由于是短路操作符,结果为4,是因为and运算符必须所有的运算数都是true才会把所有的运算数都解析,并且返回最后一个变量,即为4;改变一下顺序4 and 3 ,结果也不一样,即为3.

而或逻辑(or),即只要有一个是true,即停止解析运算数,返回最近为true的变量,即 3 or 4,值为3;改变顺序4 or 3 即为4.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,698评论 0 13
  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    徵羽kid阅读 3,987评论 0 0
  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    许先生__阅读 3,754评论 0 3
  • 世界上最遥远的距离不是我站在你面前你却不知道我爱你,而是我每日深情的大声向你倾诉我对你的爱慕,你却听不到,你却躲避...
    密恋光年阅读 1,878评论 0 1
  • 车身颜色,也许在很多车主眼里只是外观的一部分罢了,从来没有想过这些颜色有别的学问,其实这里同样很有讲究。 白色最显...
    优车行车居生活馆阅读 1,482评论 0 0