python - , 运算符用在条件语句的右侧时有何作用?

a = 10
b = 20
c = 30
if(a > b,c):
    print('In if')
else:
    print('In else')

有人发布了上面的代码,并询问为什么上面的代码总是导致 'In if',无论 b 和 c 的值如何都被打印。

虽然这看起来像是糟糕的编程风格,但我很好奇 , 运算符在做什么。

到目前为止,我还没有能够在文档中找到答案。谁能解释一下?

最佳答案

a > b, c 是元组 ((a > b), c)

因此,如果 a=10, b=20, c=30,那么我们将询问元组 (False, 30) 是否为 truish .所有非空元组都是真实的,因此这将始终通过条件触发相同的路径。

https://stackoverflow.com/questions/65433625/

相关文章:

python - 将 dict 值设置为自身会创建无限副本

python - 从多列的 value_counts 中排除项目

python - 功能测试没有按预期进行(AoC 第 4 天的一部分)

python - 从 python 列表创建子列表

amazon-web-services - Amazon RDS 和 VPC 端点连接

windows - 使 HTML 不适用于 Windows 10 中的 Sphinx 文档

python - 根据所选列过滤重复的行并与 Pandas 中的另一个数据框进行比较

git - 如何为 gerrit 事件配置 Gerrit Webhooks

firebase - Flutter Firestore 离线数据库

r - 如何检查 data.table 各行中的值是否相同