pythonif与或非
① python语法教程 条件语句
Python语法教程:条件语句
定义
条件语句就是使用if、elif、else等关键词来判断某些条件的执行结果(True或者False)来决定执行哪些代码块的语句,我们用下面的图来说明:
在Python中,使用非0或者非空(null)的值作为True的条件判断,使用0或者空(null)的值作为False的条件判断;
语法
条件语句的基本写法如下:
当“判断条件”成立时,将执行随后的“执行语句”,“执行语句”是可以有多行的,使用缩进来区分是属于同一代码块的范围;
elif不是必须要填写的关键词,当有多个判断条件存在时,它才将会出现;
举一个实际的例子:
执行的结果是 15;
要值得注意的是,在Python中,并没有像C++等编程语言中的“switch/case”关键词,在这里,我们使用上面提到的elif关键词来代替“switch/case”,但是当条件比较多的时候,代码量太大,并不好维护,此时可以使用字典映射的方法来实现,举个例子:
当执行num2Str函数时,如果参数是0,则输出“zero”,如果参数是1,则输出“one”,如果参数是2,则输出“two”,如果参数是3,则输出“three”,除此之外,都输出“nothing”;
多条件判断
多条件判断语句使用关键词“and”或者“or”来连接若干个条件语句进行判断,“and”的意思是“并且”,“or”的意思是“或者”,也就是说,当用and关键词时,要满足所有的条件为True,才会执行判断语句后面的代码块,而用or关键词时,只要满足其中之一为True,就能执行判断语句后面的代码块了,例如:
在这里说一下执行的优先级,“()”里的优先级最高,其次是>(大于)、<(小于)等判断符号,而 and 和 or 的优先级比判断符号还要低,也就是说,>(大于)、<(小于)在没有括号的情况下,要先于and和or来执行判断;
② python里面if…andnot什么意思
一、not、and、or的含义以及优先级对象返回结果优先顺序not xif x is false,then True,else False1
x and yif x is false,then x,else y2
x or yif x is false,then y,else x3
含义:not是 “非” ;and是 “与” ;or是 “或” (可以用数学去理解)
1、not True = False 或者 not False = True (非真就是假,非假即真)
2、and是一假则假,两真为真,两假则假
3、or是一真即真,两假即假,两真则真
优先级是 not > and > or
代码如下(示例):
x=1 #将x赋值为1
y=0 #将y赋值为0
z=0 #将z赋值为0
print(x or y and not z)
'''
输出结果为
1
'''
小提示: 我们知道在编程语言中“非0即是True”,也就是“0为False,1为True”由于优先级是not>and>or,所以首先执行not z(也就是not 0),
即 not 0 = not False =True =1
下一步是轮到了and,那么 y and 1(已知y=0)即 0 and 1,也就是
False and True (假与真),我们刚刚谈过and,一假即假,故
y and 1 = 0 and 1 = False = 0
最后一步按优先级是轮到了or,即 x or 0(已知x=1),
即 1 or 0 =True or Flase =True = 1(or即“或”中,一真即真)
所以输出结果为 1总结: 代码运算过程为: (用数学符号表示优先级)
{ x or [ y and (not z) ] }
二、not、and、or的使用方法
1.not
if x is false,then True,else False
如果x为False则not x 为True,否则为False
(如果x是假的,则“非假”为真,否则x是真的,则非真为假)
在编程中是 布尔运算,即返回值是True 或者 False
代码如下(示例):
print(not 0,not 1,not True,not False)
'''
输出结果为:
True False False True
'''
2.and
and运算后的返回结果:
从左到右计算表达式,若所有的都为真,则返回最后一个值,若存在假,返回第一个值。
简单理解:
and的目的是找到并返回第一个False(假)或最后一个True(真) (从左往右找)(一假即假,两真即真)
代码如下(示例):
1、找到并返回第一个False(假)
print(1 and 2 and 0 and 4 and False)
'''
输出结果为:
0
'''
因为and是找到第一个False(假),我们知道在计算机中,
False即为0,所以输出结果是 0
2、找到并返回最后一个True(真)
print(1 and 2 and True and 4 and 6)
print(2 and 5 and True and 7 and True)
'''
输出结果为:
6
True
'''
因为 1,2,True,4,6 都不是0,我们知道 非零True,所以都是 真的,那么输出最后一个真值,所以输出结果为 6
因为 2,5,True,7,True 都不是0,都是真的,同理输出最后一个真值,所以输出结果为 True
3.or
or运算后的返回结果:
从左到右计算表达式,只要遇到真值就返回那个真值,如果表达式结束依旧没有遇到真值,就返回最后一个假值。
③ 如何在PYTHON中写“与”和“或”的选择条件,就像在C++中的‘&&’ 与‘||’一样
与 = and
或 = or
ex:
>>> a=1
>>> b=2
>>> if (a>0 and b>0):
... print 'a>0, b>0'
...
a>0, b>0
拓展资料:
Python (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明。
第一个公开发行版发行于1991年。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面)。
然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
7月20日,IEEE发布2017年编程语言排行榜:Python高居首位 。
2018年3月,该语言作者在邮件列表上宣布 Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。
④ python中循环语句
1、if语句
Python中的if子句由三部分组成:关键字本身、用于判断结果真假的条件表达式以及当表达式为真或者非零时执行的代码块。if 语句的语法如下:
if expression:
expr_true_suite
if 语句的expr_true_suite代码块只有在条件表达式的结果的布尔值为真时才执行,否则将继续执行紧跟在该代码块后面的语句。
(1)多重条件表达式
单个if语句可以通过使用布尔操作符and、or和not,实现多重判断条件或是否定判断条件。
(2)单一语句的代码块
如果一个复合语句(例如if子句、while或for循环)的代码块仅仅包含一行代码,那么它可以和前面的语句写在同一行上。如if make_hard_: send_data_to_printer(),这样的单行语句是合法的, 尽管它可能方便,但这样会使得代码更难阅读, 所以推荐将这行代码移到下一行并合理地缩进。另外一个原因就是如果你需要添加新的代码, 你还是得把它移到下一行。
2、else语句
Python提供了与if语句搭配使用的else语句,如果if语句的条件表达式的结果布尔值为假,那么程序将执行 else 语句后的代码。其语法如下:
if expression:
expr_true_suite
else:
expr_false_suite
在C语言中,不会在条件语句范围外发现else语句, 但Python不同,可以在while和for循环中使用else语句,在循环中使用时,else子句只在循环完成后执行,也就是说break语句也会跳过else块。
例:显示出10到20中的数字的最大约数
在CODE上查看代码片派生到我的代码片
#!/usr/bin/env python
def showMaxFactor(num):
count = num / 2
while count > 1:
if (num % count == 0):
print 'largest factor of %d is %d' % (num, count)
break
count = count - 1
else:
pr
⑤ python,if语句用or作条件判断不执行else
if a == 1 or 2
or的前面是False,但是2这个条件总是Ture,所以总是输出的是1.如果你要达到排除2的效果应该是写成if a == 1 or a == 2 或者 是if a in [1,2]
⑥ python的if语句用法
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
Python 编程中 if 语句用于控制程序的执行。其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。
(1)简单的if语句:
在第1行中,可包含任何条件测试,而在紧跟在测试后面的缩进代码块中,可执行任何操作。如果条件测试的结果为True,Python就会执行紧跟在if语句后面的代码;否则Python将忽略这些代码。
(2)if-else语句
经常需要在条件测试通过了时执行一个操作,并在没有通过时执行另一个操作;在这种情况下,可使用Python提供的if-else语句。if-else语句块类似于简单的if语句,但其中的else语句,让你能够指定条件测试未通过时要执行的操作。
(3)if-elif-else语句
经常需要检查超过两个的情形,为此可使用Python提供的if-elif-else结构。Python只执行if-elif-else结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。
条件测试:
(1)概念:
每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。Python根据条件测试的值为True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。
(2)检查是否相等:
通常情况下会用 “==”的左值和右值是否相等来判断程序是否继续进行,会区分大小写也会用“!=” 来表示不相等继续进行,相等则忽略。
(3)检查多个条件:
and: 要检查是否两个条件都为True,可使用关键字and将两个条件测试合而为一;如果每个测试都通过了,整个表达式就为True;如果至少有一个测试没有通过,整个表达式就为False。
or: 关键字or也能够让你检查多个条件,但只要至少有一个条件满足,就能通过整个测试。仅当两个测试都没有通过时,使用or的表达式才为False。
(4)检查特定值是否包含在列表内:
要判断特定的值是否已包含在列表中,可使用关键字in。
(5)检查特定值是否不包含在列表内:
确定特定的值未包含在列表中很重要,可使用关键字not in。
(6)布尔表达式:
布尔表达式的结果要么为True,要么为False。
⑦ python-逻辑运算:not\and\or和布尔值:True\False
这东西在每一个语言都有,and or not 对应与、或、非三种逻辑运算;True和False是bool值,即真和假。
逻辑运算和布尔值经常用于if判断语句、循环语句的条件语句。
首先作为控制条件应该是一个布尔值,即真和假——True和false。
python的内置类——布尔类,只有两个实例:True和false。对于一般数字而言,0是False,非0是True;对于序列和容器类型,如列表、字典、字符串等,空为False,非空为True。
所以就有了这样的用法:
输出:1 为True
输出: 0 为 False
输出:a = '字符串'
这了可以看出一个实例本身可以作为控制条件,这是因为,解释器会先把这个实例转换为bool类型,然后根据这个bool类型执行程序。即bool(a) = True、bool(b) = False。
但是只用这样的方式控制程序显然不够,比如我希望a为空,b为非空的时候,我输出“我天下第一”,这怎么办?
如果不用not and or 就会写成这样:
输出:我天下第一
可以把a 看成False,b看成True。
从这里我们可以看到,我们用了两层if--else语句来判断a为空,b为非空的情况,那么我用逻辑运算呢?
输出:我天下第一
一样的:可以把a 看成False,b看成True。那么not a and b的意思就是:not False and True
这时候就是逻辑运算符的优先级的问题,这可以借鉴C语言的那本书《C程序设计》第五版的第92页
!非
算数运算符
关系运算符
&& 和 ||
赋值运算符
运算优先级从上到下,越来越低。
这是C语言里的,在python里就是:
not -------------->高
and 和 or ---------->低
所以我们先算not
于是 not False and True 就成所以了True and True这就很清楚了结果为True,所以“我天下第一”。
所以我们就可以总结出:
1.先将实例变为布尔值
2.在计算所有的not
3.根据语言特性,从左到右或者从右到左计算逻辑运算结果。
当然在python中是从左到右。
and 和 or 运算具有短路保护!什么意思呢?看一个栗子
1 or a
or的左边是1也就是True,根据or的运算法则,只要有一个真则为真,所以不管a是真还是假,结果都是真。
0 and a
and 左边为0,为False,同样,and只要有一个为假则为假,所以不管a是真还是假,结果都是假。
所以and 和 or 的结果可以根据第一个操作数的值来确定,那么他就不会对第二个操作数进行运算。
这个功能用起来要很小心,不然很可能会出现想不到的结果。
这里会输出什么呢?
输出:我天下第一
因为x是True,无论y and z 的结果是什么,这个语句的结果都是True,这就是短路保护,当然也有的人说惰性计算。
我觉得迭代器、生成器那个才叫惰性计算。
⑧ python中的if not 怎么用
python中的if not的用法说明如下:
1、if的语法为:if 条件为真:执行语句,而not是取反的意思。
2、从上面的解释可理解为:if not 条件为真:执行语句<==>if 条件不为真:执行语句。
3、举例:if n>3:print "True",假如n=3,就打印“True”。如果加上not,即为if not n>3:print “True”,就有:n<=3,才会打印“True"。
(8)pythonif与或非扩展阅读:
python中的“if not 1”:
if条件语句后面需要跟随bool类型的数据,即True或者False。然而,如果不是bool类型的数据,可以将其转换成bool类型的数据,转换的过程是隐式的。
在Python中,None、空列表[]、空字典{}、空元组()、0等一系列代表空和无的对象会被转换成False。除此之外的其它对象都会被转化成True。
在命令“if not 1”中,1便会转换为bool类型的True。not是逻辑运算符非,not 1则恒为False。因此if语句if not 1之下的语句,永远不会执行。
⑨ 请问python中的if语句都有哪些形式
Python中选择语句主要有3种形式,分别为if语句、if…else语句和if…elif…else多分支语句。
if…elif…else语句
但有时候我们需要很多判断,并不是非黑即白,这时用户就需要从多个选项中选择一个。在开发程序时,如果遇到多选一的情况。
则可以使用if…elif…else语句,该语句是一个多分支选择语句,通常表现为“如果满足某种条件,进行某种处理,否则,如果满足另一种条件,则执行另一种处理……”。
if注意:
1.比较表达式无论简单还是复杂,结果必须为Boolean类型。
2.if语句控制的语句体只有如果只有一条语句,大括号可以省略;如果是多条语句则不能省略,建议永远不要省略。
如:if(比较表达式)
语句
3.一般来说:有左大括号就没有分号,有分号就没有左大括号。
如:if(比较表达式){........}, if(比较表达式)。
⑩ python与或非什么区别
Python逻辑运算符
Python中的逻辑运算,与,或,非,分别对应关键字and,or,not。逻辑与表示两者都为真,返回真,反之为假;逻辑或表示一者为假,则为假;逻辑非表示相反的概念。
Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:
Python学习网- 专业的python自学、交流公益平台!