Я разрабатываю приложение, в котором я выполняю некоторые запросы, чтобы получить идентификатор объекта. После каждого из них я вызываю метод (get_actor_info()
), передавая этот id в качестве аргумента (см. Код ниже).Форматирование строки Python:% vs concatenation
ACTOR_CACHE_KEY_PREFIX = 'actor_'
def get_actor_info(actor_id):
cache_key = ACTOR_CACHE_KEY_PREFIX + str(actor_id)
Как можно заметить, я литья actor_id
к string
и конкатенации его с префиксом. Тем не менее, я знаю, что могу сделать это несколькими другими способами (например, .format()
или '%s%d'
), и это приводит к моему вопросу: будет ли '%s%d'
лучше, чем конкатенация строк с точки зрения удобочитаемости, согласования кода и эффективности?
Благодаря
Вы можете проверить сами: https://docs.python.org/2/library/timeit.html –
Спасибо @brunodesthuilliers! Однако это отвечает только части эффективности времени вопроса. –
Да, извините ... wrt/readability и conventions, ответ прост: используйте '.format()'. –