python中or是否有就近原则

Python020

python中or是否有就近原则,第1张

1. Python中的not and or简介:

在Python中and/not/or都是布尔值运算符,即返回TRUE(真)和FALSE(假)的运算结果,接下来我们用几个例子分别简单看一下这三种运算符。

(1) A and B:如果A与B中有一个为FALSE则最终结果为FALSE

A值 B值 A and B值

TRUE TRUE TRUE

TRUE FALSE FALSE

FALSE TRUE FALSE

FALSE FALSE FALSE

(2) A or B:如果A与B中有一个为TRUE则最终结果为TRUE

A值 B值 A or B值

TRUE TRUE TRUE

TRUE FALSE TRUE

FALSE TRUE TRUE

FALSE FALSE FALSE

(3) not A:对A取反向值,比如A为TRUE则not A为FALSE

A值 not A值

TRUE FALSE

FALSE TRUE

2. Python中的not and or优先级说明

优先级是 not >and >or,这和多数编程语言还有SQL类似。具体举个例子如下

print(not 1>3 or 4>2 and 7>8)

解析:首先1>3为FALSE,4>2为TRUE,7>8为FALSE。所以表达式可以转换为not FALSE or TRUE and FALSE。根据上文说的优先级,先计算not FALSE=TRUE,进而转换表 达式继续为TRUE or TRUE and FALSE,然后计算TRUE and FALSE=FALSE,表达 式最后变为TRUE or FALSE=TRUE

1、and为且,and两边的变量都是true的时候结果是true

如:1)5>3 and 4>2     True

       2)5>3 and 4<2     False

2、or为或,有一个是true的时候结果即为true

如:1)5>3 or 4>2     True

        2) 5>3 or 4<2      True

3、not取反.

如:1)not 5>3     False

       2)not  5<3     True

4、当not和and及or在一起运算时,优先级为是 not >and >or.

如果有括号,括号的优先级最高,先运算括号中的结果。

如下:

第一种情况,只有一个运算符:(在不加括号的时候,and优先级大于or)。

1、and:从左到右,若所有值均为真,则返回后一个值,有一个假的值,则返回第一个假的值。

2、or:从左到右,返回第一个为真的值,都为假返回后一个值。

例如:

x or y的值只可能是x或y,x为真就是x,x为假就是y。

x and y的值只可能是x或y,x为真就是y,x为假就是x 。

第二种情况,多个运算符:

1、表达式从左至右运算,若 or 的左侧逻辑值为 True ,直接输出 or 左侧表达式 。

2、表达式从左至右运算,若 and 的左侧逻辑值为 False ,则忽略后面表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。

Python语言特点:

1、简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。

2、易学:Python极其容易上手,因为Python有极其简单的说明文档。

3、易读、易维护:风格清晰划一、强制缩进。

4、速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。