gpt4 book ai didi

python - 三元运算符返回 `True` 而不是给定值

转载 作者:太空狗 更新时间:2023-10-30 01:52:08 25 4
gpt4 key购买 nike

我使用三元运算符来定义简短的条件变量。我想知道表达式何时返回 True 而不是在表达式值中给出。

>>> digits = '123456'

>>> conv_d = digits != None if int(digits) else None

>>> conv_d
>>> True

>>> int(digits)
>>> 123456

请给我解释一下,这是怎么发生的? Python 中的三元运算符和正则条件表达式之间的逻辑区别是什么?

最佳答案

int(digits) == 123456 这是一个真实的值。所以 conv_d = digits != None。由于 digits 不是 None,因此 conv_d 设置为 true。

你可能想要这个:

conv_d = int(digits) if digits is not None else None

请记住,包含非数字内容的字符串会引发异常!如果您更喜欢这些值的 0 或 None,请编写一个小函数:

def toint(s):
try:
return int(s)
except (ValueError, TypeError):
return None # or 0

关于python - 三元运算符返回 `True` 而不是给定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8034257/

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