url_base = ("https://maps.googleapis.com/maps/api/place/search/json?"
"location=%s,%s&radius=500&types=food|doctor&sensor=false&"
"key=%s&pagetoken=%s") % (
r['lat'],
r['lng'],
YOUR_API_KEY,
''
)
虽然格式如上所示,但我在 SublimeText 中没有关于 PEP8 的下划线,但我觉得这很奇怪。我如何格式化它:
a) 更好(代码更具可读性)
b) 还是按照 PEP8?
最佳答案
也许让您觉得奇怪的是将很长的字符串打断以符合 PEP8 的方式。但是,如果您确实需要拆分很长的字符串,那么您的做法是正确的。两个并列的字符串由 Python 自动连接。
但是,在您的特定情况下,您不需要编写很长的字符串。相反,您可以使用 urllib.urlencode为您格式化参数:
import urllib
url_base = "https://maps.googleapis.com/maps/api/place/search/json?"
params = urllib.urlencode(
{'location': '{},{}'.format(r['lat'], r['lng']),
'radius': 500,
'types': 'food|doctor',
'sensor': 'false',
'key': YOUR_API_KEY,
'pagetoken': ''
})
url = url_base + params
关于python - 如何根据 PEP8 使用 % 参数格式化此字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24789782/