大家觉得这个表达式的值是什么?
1
latteczy 2015-10-16 21:14:36 +08:00
False
|
2
hahastudio 2015-10-16 21:26:04 +08:00
False in [False] => True
False == True => False 你要是挑个感觉会歧义的也行啊 |
3
aaronlam 2015-10-16 21:52:16 +08:00
楼上正解
理解好运算优先级的话,这不是很容易得到答案吗? |
4
imn1 2015-10-16 22:26:22 +08:00
True == (False in [False],)
这个呢? |
5
kendetrics 2015-10-16 22:33:06 +08:00
@imn1 False != [False] => False not in [False], ,对吧?
|
6
Hello1995 2015-10-16 22:55:46 +08:00
|
7
hahastudio 2015-10-16 23:28:52 +08:00
|
8
imn1 2015-10-16 23:33:57 +08:00
@hahastudio
不是问你,问 LZ 的 |
9
gccplus 2015-10-17 00:24:17 +08:00
True == (False in [False])
True True == (False in [False],) False 一个逗号就不一样拉~~ |
10
fourstring 2015-10-17 15:48:14 +08:00
@hahastudio 就是说,在这种情境下, Python 不会像 if object 这样调用对象的__bool__()方法来返回一个 bool 值进行计算?
|
11
hahastudio 2015-10-17 16:58:28 +08:00
@fourstring 你遇到的不是一个 object ,是一个表达式啊
|
12
siteshen 2015-10-17 18:55:16 +08:00
@fourstring 另如果所有 a == b 都转换成 bool 类型再比较的话,那么 a == True 或者 a == False 就必然为真了。不是一个物种,你让 python 怎么自动转换。
() == [] => False 1 == 1.0 => True True == 1 => True False == 0 => False complex(1,0) == True |
13
fourstring 2015-10-17 22:00:58 +08:00
|
14
easyhappy 2015-10-19 23:51:54 +08:00
False == False in [False]
>>>True 为什么是 True ? |