python 使用 getattr 防止引发异常

2020-03-14  本文已影响0人  eeert2

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
上一篇 下一篇

猜你喜欢

热点阅读