Edu*_*vas 0 python expression pep8 conditional-statements
我有这个非常简单的if块:
if obj_type == "domain":
key = "domain"
elif obj_type == "db_user":
key = "username"
else:
key = "name"
Run Code Online (Sandbox Code Playgroud)
这些可以转换为if表达式:
key = "domain" if obj_type == "domain" else "usernme" if obj_type == "db_user" else "name"
性能有任何优势吗?如果这不是一个因素,哪个应该是首选的可读性,PEP8合规性?
它们的表现相同,因此如果您需要在两者之间进行选择,请使用第一个.
由于您实际上只是在两个集合之间创建映射,因此使用字典将是更好的方法.它更快,可以说更具可读性:
mapping = {
'domain': 'domain',
'db_user': 'username',
}
key = mapping.get(obj_type, 'name')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |