| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
一、短路逻辑 
1.短路逻辑的核心思想:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。 
(不会将最终的结果判断完在汇报,直接把影响结果的关键值返回出来) 
eg. 
3 and 4          左右两边的真值测试结果同时为True时,结果才为True 
3是True,那就要在去求4的布尔类型值,而4就是影响最后的结果的关键值(第一个操作值是False就会直接返回第一个值,第一个操作值就是决定结果的关键值) 
4               所以直接返回4这个关键值 
3 or 4          只有一个True就行,所以3是True就直接返回第一个操作值3 
3 
0 and 3         第一个操作数是0,就是False,最终结果就是False,所以返回0 
0 
0 or 4          第一个是False,所以继续求第二个操作值的布尔类型,4是True,最终结果就是True,返回的就是影响结果的4 
4 
 
二、运算符优先级(Operator precedence) 
1.优先级表格(优先级从低到高) 
优先级                      运算符                                     描述 
1                       lambda                                      lambda表达式 
2                       if-else                                     条件表达式 
3                       or                                          布尔"或" 
4                       and                                         布尔"与" 
5                       not x                                       布尔"非" 
6                       in,not in,is,is not,<,<=,>,>=,!=,==         成员测试,同一性测试,比较 
7                       |                                           按位或 
8                       ^                                           按位异或 
9                       &                                           按位与 
10                      <<,>>                                       移位 
11                      +,-                                         加法,减法 
12                      *,@,/,//,%                                  乘法,矩阵乘法,除法,地板除,去余数 
13                      +x,-x,~x                                   正号,负号,按位翻转 
14                      **                                          指数 
15                      await x                                     Await表达式 
16                      x[index],x[index:index],x(arguments...),    下标,切片,函数调用,属性引用 
                        x.attribute 
17                      (expressions...),[expressions...],{key      绑定或元组显示,列表显示,字典显示,集合显示 
                        :value...},{expressions...} 
eg. 
1 + 2 > 3 - 4           先运算1+2,再运算3-4,再比较大小 
True 
not 1 < 2               先运算1<2,再运算not True 
False 
0 or 1 and not 2        先运算not 2,就是False,再运算1 and False,就是False,再运算0 and False 
False |   
 
 
 
 |