Python和/或运算符返回值

Python和/或运算符返回值

我在看2007年关于高级Python或理解Python的视频,在18‘27岁时,“演讲者声称”,正如一些人在Python中可能知道的那样。andor返回两个值中的一个,而not返回始终是布尔值。“什么时候出现这种情况?”

据我所知,andor还布尔人。


隔江千里
浏览 727回答 3
3回答

小唯快跑啊

这个and和or运算符确实返回它们的一个操作数,而不是像这样的纯布尔值。True或False:>>> 0 or 4242>>> 0 and 420鉴于not总是返回一个纯布尔值:>>> not 0True>>> not 42False

jeck猫

从…Python文档:如果操作符的参数为假,则不生成True,否则为false。表达式x和y首先计算x;如果x是false,则返回其值;否则,计算y并返回结果值。表达式x或y首先计算x;如果x为true,则返回其值;否则,计算y并返回结果值。Python的or运算符返回第一个true-y值或最后一个值,然后停止。这对于需要后备值的普通编程任务非常有用。就像这个简单的:print my_list or "no values"这个会打印出来my_list如果里面有什么东西的话。否则,它会打印no values(如果List是空的,或者它是空的None...).一个简单的例子:>>> my_list = []>>> print my_list or 'no values'no values>>> my_list.append(1)>>> print my_list or 'no values'[1]恭维and,它返回第一个false-y值,或最后一个值,并停止。就像这个:my_list and my_list.pop()这很有用,因为你不能用list.pop在……上面None,或[],它们是列表的公共先验值。一个简单的例子:>>> my_list = None>>> print my_list and my_list.pop()None>>> my_list = [1]>>> print my_list and my_list.pop()1在这两种情况下,都会返回非布尔值,并且不会引发异常。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python