Jam*_*een 23 python python-3.x
我经常检查数字变量number是否有值,if number但有时数字可能为零.所以我解决了这个问题if number or number == 0.
我能以更聪明的方式做到这一点吗?我认为分别检查值是否为零有点难看.
我想我可以检查值是否为数字
def is_number(s):
try:
int(s)
return True
except ValueError:
return False
Run Code Online (Sandbox Code Playgroud)
但是我仍然需要检查if number and is_number(number).
Mar*_*ers 37
如果number可能是None 或数字,并且您想要包括0,请过滤None:
if number is not None:
Run Code Online (Sandbox Code Playgroud)
如果number可以是任意数量的类型,测试类型 ; 你可以int使用元组测试一个或多个类型的组合:
if isinstance(number, int): # it is an integer
if isinstance(number, (int, float)): # it is an integer or a float
Run Code Online (Sandbox Code Playgroud)
也许:
from numbers import Number
if isinstance(number, Number):
Run Code Online (Sandbox Code Playgroud)
允许整数,浮点数,复数Decimal和Fraction对象.
对于if块,Zero和None都被视为相同,下面的代码应该可以正常工作.
if number or number==0:
return True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
126826 次 |
| 最近记录: |