我正在构建一个基于数据类型的if语句的基本函数。我想知道使用是否有任何问题:
if type(number) == int:
之类的:
def distance_from_zero(number):
"""Takes input 'number', checks datatype. If integer or floating point, returns absolute value. If other, returns 'Nope'"""
if type(number) == int:
return abs(number)
elif type(number) == float:
return abs(number)
else:
return "Nope"
distance_from_zero(45)
在if语句中使用数据类型是否更清晰/更好?
答案 0 :(得分:4)
为什么要检查?
try:
return abs(number)
except TypeError:
return 'Nope'
答案 1 :(得分:2)
您可以使用isinstance()
if isinstance(number, (int, float)):
return abs(number)
答案 2 :(得分:1)
我没有看到该代码有任何问题,尽管您可以更简单地将其编写为:
if type(number) in (int, float):
return abs(number)
else:
return "Nope"