gpt4 book ai didi

python - 返回 0 或 None 时强制 Python 返回 0

转载 作者:行者123 更新时间:2023-11-28 22:24:31 25 4
gpt4 key购买 nike

我的代码中有一个递归调用末尾的部分如下:

if (condition):
# Some code here
else:
return function_call(some_parameters) or function_call(some_parameters)

它可能评估为

return None or 0

它将返回 0(一个整数,正如预期的那样)或

return 0 or None

它将返回 None(预期为 0)

我的问题是,在上面的例子中,是否可以让 Python 返回 0(作为 INTEGER)?

下面是一些代表场景的代码

$ cat test.py
#!/usr/bin/python3
def test_return():
return 0 or None
def test_return2():
return None or 0
def test_return3():
return '0' or None #Equivalent of `return str(0) or None`

print( test_return() )
print( test_return2() )
print( test_return3() )

$ ./test.py
None
0
0

注意:0 应作为整数返回。

最佳答案

Python 将 None, 0, {}, [], '' 视为 Falsy。其他值将被视为 Truthy所以以下是正常行为

def test_return():
return 0 or None # 0 is Falsy so None will be returned
def test_return2():
return None or 0 # None is Falsy so 0 will be returned
def test_return3():
return '0' or None # '0' is Truthy so will return '0'

关于python - 返回 0 或 None 时强制 Python 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46314611/

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