Python 创建返回长度的函数
我想创建一个函数,返回不同输入对象的长度,如果没有长度,则返回-1。预期输出如下:Python 创建返回长度的函数,python,python-3.x,Python,Python 3.x,我想创建一个函数,返回不同输入对象的长度,如果没有长度,则返回-1。预期输出如下: my_dict = {'a': 23, 'b': 8} len_safe(my_dict) 2 len_safe(7) -1 我想使用异常处理,但对如何开始感到困惑 如果没有len(),则始终可以捕获类型错误并返回-1: 我不确定这类函数的可用性,但是如果没有len(),您总是可以捕获类型错误并返回-1: 我不确定这类函数的可用性,但是。您可以使用它来检查对象是否有\uu len\uuu
my_dict = {'a': 23, 'b': 8}
len_safe(my_dict)
2
len_safe(7)
-1
我想使用异常处理,但对如何开始感到困惑 如果没有
len()
,则始终可以捕获类型错误并返回-1
:
我不确定这类函数的可用性,但是如果没有len()
,您总是可以捕获类型错误并返回-1
:
我不确定这类函数的可用性,但是。您可以使用它来检查对象是否有\uu len\uuu
作为属性,否则返回-1
:
def safe_len(o):
return len(o) if hasattr(o, '__len__') else -1
在行动中:
>>> safe_len(7)
-1
>>> safe_len([1,2,3])
3
您可以使用检查对象是否将\uuu len\uuu
作为属性,否则返回-1
:
def safe_len(o):
return len(o) if hasattr(o, '__len__') else -1
在行动中:
>>> safe_len(7)
-1
>>> safe_len([1,2,3])
3
为什么要返回一些幻数而不是抛出异常并处理它?为什么要返回一些幻数而不是抛出异常并处理它?