检查python中的值是否为零或不为空

2024-04-19 07:40:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我经常检查一个数字变量number是否有一个带if number的值,但有时数字可能为零。所以我通过if number or number == 0来解决这个问题。

我能用更聪明的方法做这个吗?我认为单独检查值是否为零有点难看。

编辑

我想我可以检查一下这个值是否是

def is_number(s):
    try:
        int(s)
        return True
    except ValueError:
        return False

但我还是需要和if number and is_number(number)核实一下。


Tags: or方法true编辑numberreturnifis
3条回答

如果number可以是None一个数字,并且您希望包含0,请筛选None

if number is not None:

如果number可以是任意数量的类型,则测试类型;您可以只测试int或具有元组的类型组合:

if isinstance(number, int):  # it is an integer
if isinstance(number, (int, float)):  # it is an integer or a float

或者可能:

from numbers import Number

if isinstance(number, Number):

允许整数、浮点数、复数、DecimalFraction对象。

对于if块,零和无都被视为相同,下面的代码应该可以正常工作。

if number or number==0:
    return True

更简单的方法:

h = ''
i = None
j = 0
k = 1
print h or i or j or k

将打印1

print k or j or i or h

将打印1

相关问题 更多 >