逻辑运算符&逻辑短路

(1)and 逻辑与

全真则真,一假则假

print(TrueandTrue)                #True

print(FalseandTrue)              #False

print(FalseandFalse)            #False

print(TrueandFalse)             #False

(2)or  逻辑或

全假则假,一真则真

print(TrueorTrue)                #True

print(FalseorTrue)              #True

print(FalseorFalse)            #False

print(TrueorFalse)              #True

(3)not  逻辑非, (取反)

print(notTrue)                  #False

print(notFalse)                #True


逻辑短路:  在逻辑运算符的左侧就可以判断出来True或False, 那么右侧代码就不执行

False and bool   逻辑短路, 右侧不执行

True   or   bool    逻辑短路, 右侧不执行

Falseandprint(123)               # 短路

Trueorprint(234)                    # 短路

Trueandprint(345)                 # and左侧不能判断真假, 右侧打印执行345


逻辑运算符的返回值:

并不只是返回True或False, 也可以返回其他值(要先经过bool强转后进行运算)

短路时弹出左侧数据(如果方法有返回值弹出返回值,  无返回值弹出None),

不短路时弹出右侧数据的返回值.

# (1)

print(5or6and7)                 # 5

print(5orTrue)                   # 5

print(Falseor5)                  # 5

# (2)

print((5or6)and7)                # 7

# (3)

print(not(5or6)and7)           # False

# (4)

print(3>1or4<5and6>9or8==10)        # True

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • C++运算符重载-上篇 本章内容:1. 运算符重载的概述2. 重载算术运算符3. 重载按位运算符和二元逻辑运算符4...
    Haley_2013阅读 2,326评论 0 51
  • 基本操作员 一个运营商是一个特殊的符号,或者你使用来检查,更改或合并值的短语。例如,加法运算符(+)添加两个数字,...
    Fuuqiu阅读 261评论 0 0
  • 关于 Swift 重要这个文档所包含的准备信息, 是关于开发的 API 和技术的。这个信息可能会改变, 根据这个文...
    无沣阅读 4,397评论 1 27
  • 顾念你的白 于是挤破喧嚣来见你 初见,便以深情 也许此时此刻不是最美的你 怪我去的晚了些 但我已深深痴迷 还好,有...
    达洱文阅读 256评论 0 0
  • 是爱,是暖,是希望,你是人间四月天。 是情,是晴,是梦想,我是天空一站地。 ​​​​
    邪恶小仙阅读 287评论 0 0