Python教程

你知道python中and与操作有前后顺序吗?

本文主要是介绍你知道python中and与操作有前后顺序吗?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

说实话,当我发现这个问题的时候,我震惊了!

问题说明:

and前后的两个条件顺序不一样,结果不一样。具体的,会先判断and前面的条件,后判断and后面的。这个特性应用在list判断是否为空上是什么重要的,很有可能因为顺序问题而报错。

实验验证:
同时满足list某个元素大于0以及list不为空:

a = []
if a and a[-1]  > 0:
    print(True)
    
if a and a[-1]  > 0:
    print(True)
    
if a[-1]  > 0 and a:
    print(True)
    
Traceback (most recent call last):
  File "<input>", line 1, in <module>
IndexError: list index out of range

分析:

  • 第一个if判断因为先判断的a是否为空,当发现a为空的时候,就不会继续判断了,因此不会报错。
  • 第二个if判断因为先判断的a[-1]这个元素是否大于0,又因为a本身为空,因此直接报错。
    由此可知and链接的前后条件是有先后顺序的。
这篇关于你知道python中and与操作有前后顺序吗?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!