我正在使用一个数据库接口,该接口将查询字符串作为__getitem__()方法的key参数。但对于可读性不是很好的复杂查询:
e = db["(col1 in ['ABC', 'DEF', 'GHI']) & ((col2 != {}) & (col3 != {})) & (col4 == 'something')".format(-some_value-1, -another_value-1)]目前,我正在使用以下内容:
e = db[" & ".join([
"(col1 in ['ABC', 'DEF', 'GHI'])",
"((col2 != {})".format(-some_value-1),
" (col3 != {}))".format(-another_value-1),
"(col4 == 'something')"
])]我正在寻找一种更优雅(阅读:更容易阅读)的方式来格式化这个多行字符串。有什么建议吗?
发布于 2015-05-10 18:48:53
我认为这更具可读性。
e = db["(col1 in ['ABC', 'DEF', 'GHI']) & " +
"((col2 != {}) & ".format(-some_value-1) +
"(col3 != {})) & ".format(-another_value-1) +
"(col4 == 'something')"]发布于 2015-05-10 19:07:56
看看这是不是看起来更好,以防万一:)
e = db[
"""
(col1 in ['ABC', 'DEF', 'GHI'])
& ((col2 != {}) & (col3 != {}))
& (col4 == 'something')
""".format(-some_value-1, -another_value-1)
]发布于 2015-05-10 20:01:12
e = db["(col1 in ['ABC', 'DEF', 'GHI'])" +
"& ((col2 != {}) & (col3 != {}))".format(-some_value-1, -another_value-1) +
"& (col4 == 'something')"]https://stackoverflow.com/questions/30150446
复制相似问题