python - 如何根据 PEP8 使用 % 参数格式化此字符串

标签 python pep8

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/

相关文章:

python - 将嵌套的数字和字符串列表导出到制表符分隔文件

python - 如何将多列作为参数传递给pyspark write repartition()

python - 获取 ctypes.c_ulong 指针的值?

python - 为错误的 Python 版本引发错误的适当方法是什么?

python-3.x - 如何在 Spyder 上添加 Python pep8 排除项?

Python 正确的代码格式 (PEP8)

python - 将 tqdm 进度条与 asyncio 结合使用

python - 合并列表中包含字典的多个字典

python - 如何使用 PyFlakes 使 Vim 错误列表永久化?

python - 如果首选 names_with_underscores,为什么使用 unittest2 方法 camelCase?