您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中的逻辑运算符

Python中的逻辑运算符

据可查

x or y      if x is false, then y, else x 
x and y     if x is false, then x, else y

两者都短路(例如,如果为 真,or则不会评估)。y``x __

该文档还指出了被认为 falsyFalse0None,空序列/映射,…) -一切被认为是 truthy

一些例子:

7 and 'a'             # -> 'a'
[] or None            # -> None
{'a': 1} or 'abc'[5]  # -> {'a': 1}; no IndexError raised from 'abc'[5]
False and 'abc'[5]    # -> False; no IndexError raised from 'abc'[5]

请注意,最后两个如何显示短路行为:IndexError不执行第二个语句(将引发)。

您关于操作数为布尔值的说法有点无聊。python确实有布尔值(实际上只有两个:TrueFalse;它们是int的子类型)。但是python中的逻辑运算只是检查操作数是 还是 。不会在操作数上调用bool函数

在正式的python文档中似乎不使用术语 truefalsy 。但是教python和此处社区的书籍确实使用了这些术语。在english.stackexchange.com上有关于术语的讨论,在维基百科上也有提及。

python 2022/1/1 18:33:14 有191人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶