2.2 字典

2.2.1 使用dict.get方法的默认参数来提供默认值

在dict.get的定义中经常被忽略的是默认参数。没有使用默认(或collections.defaultdict类)值,代码将会被if语句搞晕。记住,要力求清晰。

2.2.1.1 不好的风格

log_severity = None
if 'severity' in configuration:
    log_severity = configuration['severity']
else:
    log_severity = 'Info'

2.2.1.2 python的风格

log_severity = configuration.get('severity', 'Info')

2.2.2 使用字典推导来更清晰和有效地构建字典

列表推导是python知名的构造方式,鲜为人知的是字典推导。不过,目的都是一样的:使用容易理解的推导语法构造字典。

2.2.2.1 不好的风格

user_email = {}
for user in users_list:
    if user.email:
        user_email[user.name] = user.email

2.2.2.2 python的风格

user_email = {user.name: user.email
                for user in users_list if user.email}

results matching ""

    No results matching ""