Python:将小于(<)运算符与`和`关键字相结合?

时间:2018-06-13 09:17:10

标签: python python-3.x

我正在阅读PIL的文档,Link,我发现了这一行

mask = source[R].point(lambda i: i < 100 and 255)

那么i < 100 and 255是什么意思?

1 个答案:

答案 0 :(得分:5)

以下段落中有以下内容:

  

Python仅在确定结果时评估逻辑表达式的部分,并返回作为表达式结果检查的最后一个值。因此,如果上面的表达式为false(0),Python不会查看第二个操作数,因此返回0.否则返回255.

如果i < 100为True,则返回255。考虑到RGB(255,0,0)返回红色的整个RGB颜色方案,这是有道理的。

但是,这是不好的做法。它应该是:

mask = source[R].point(lambda i: 255 if i < 100 else 0)

更具可读性......