美文网首页
python 使用 getattr 防止引发异常

python 使用 getattr 防止引发异常

作者: eeert2 | 来源:发表于2020-03-14 12:35 被阅读0次

python中,访问dict的数据最好使用get方法,因为这样可以设置默认值,防止引发KeyError

def func(data):
    name = data.get('name', None)

而不建议使用[key]的方式来获取值,因为这样你需要处理可能引发的异常

def func(data):
    try:
        name = data['name']
    except KeyError:
        name = None

如果我们要对一个未知的对象取值,也建议通过getattr

def func(obj):
    name = getattr(obj, 'name', None)

这样就不需要处理异常
除非你已经验证过obj的类型。

def func(obj):
    if not isinstance(obj, User):
        raise ValueError('need instance of User')
    
    name = obj.name

相关文章

网友评论

      本文标题:python 使用 getattr 防止引发异常

      本文链接:https://www.haomeiwen.com/subject/ukyvshtx.html