>> "902".isdigit(), "2".isdigit() -6ren">
gpt4 book ai didi

python - 为什么这个 Python boolean 比较返回一个三元组?

转载 作者:行者123 更新时间:2023-11-28 19:43:26 25 4
gpt4 key购买 nike

我在 Python 2.7.8 的命令行上玩,遇到了这种行为:

>>> "902".isdigit() == True
True
>>> "902".isdigit(), "2".isdigit() == True
(True, True)
>>> "902".isdigit(), "2".isdigit() == True,True
(True, True, True)
>>> ("902".isdigit(), "2".isdigit()) == (True,True)

我发现这令人惊讶。我本以为 >>> "902".isdigit(), "2".isdigit() == True,True 会简单地返回 True 就好像我已经包围了括号中的两个表达式使它们成为元组。为什么 Python 返回这个 boolean 值元组,而不是一个?这个元组代表什么 boolean 比较?

最佳答案

因为:

"902".isdigit(), "2".isdigit() == True,True

被解释为:

("902".isdigit(), ("2".isdigit() == True), True)

请注意,您不应该使用 == 测试 boolean 值;编写测试的更 pythonic 方式是:

"902".isdigit() and "2".isdigit()

关于python - 为什么这个 Python boolean 比较返回一个三元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30453403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com