社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Amit Joki

Amit Joki 最近创建的主题
Amit Joki 最近回复了
7 年前
回复了 Amit Joki 创建的主题 » 与python列表一起使用的and运算符[重复]

引用 Python Docs

请注意,两者都不是 and 也不 or 限制 这个 价值 类型 他们回来了 到 False True ,而是返回 最后计算的参数 . 这个 有时是有用的,例如,如果 s 应该替换为 默认值如果为空,则表达式 s or 'foo' 收益率 期望值。

这就是Python是如何评估布尔表达式的,上面的文档让我们了解了为什么他们这样做。

要获取布尔值,只需对其进行类型转换。

return bool(len(args) and max(args)-min(args))

为什么?

短路。

例如:

2 and 3 # Returns 3 because 2 is Truthy so it has to check 3 too
0 and 3 # Returns 0 because 0 is Falsey and there's no need to check 3 at all

同样的道理 也就是说,它将返回 诚实的 一旦找到它,因为计算表达式的其余部分是多余的。

而不是返回核心 ,python返回 诚实的 法西 ,无论如何,这将评估为 . 你可以按原样使用这个表达式,它仍然有效。


知道什么是 诚实的 法西 检查 Patrick Haugh's answer