让dict_data在“无key” 或 “value为空” 或 “value=None” 等情况都得默认值
dict_data.get(key, default) 只防“没键”, 如果dict_data{key:None} 是得不到 default的(dict_data.get(key) or default) 既防“没键”又防“值为 None/空”。但对于 处理数值类Int, Float, Bool 要考虑 可能会对0 和 False 误杀当然如果deafult也是0 则无所谓。对于处理 容器类List, Dict, String 很稳无key、空值、None值 都能得到 default例如order_list (x.get(data) or {}).get(orders) or []比起 order_list x.get(data).get(orders,[]) if x.get(data) else [] 更健壮x {data: {orders: None}} 时,第一条式子得到 [] 第二条式子得到 NoneNone 不能被遍历 [] 可以被遍历item_list data.get(key1,{}).get(orders,[]) # 若要进行 for item in item_list: 循环更健壮的写法可以是: item_list (data.get(key1) or {}).get(orders) or []