Каковы преимущества этих различных вызовов форматирования строки?

1
name = 'John'

#basic method
print('Hello, his name is ' + name)

#.format method
print('Hello, his name is {}'.format(name))

#f-string literal method
print(f'Hello, his name is {name}')

Все являются жизнеспособными способами конкатенировать и выводить одно и то же, но почему я должен выбирать один за другим?

Показать ещё 2 комментария
Теги:
string
python-3.x
string-literals
string-formatting

1 ответ

2

# 1 не будет работать, если name не является строкой.

# 2 отлично подходит для любой версии, но немного громоздко печатается. Как правило, это лучшее для совместимости в версиях python.

# 3 Если лучший вариант с точки зрения удобочитаемости (и производительности). Но он работает только на python3. 6+, поэтому не очень хорошая идея, если вы хотите, чтобы ваш код был обратно совместим.

Там также # 4, форматирование старого стиля ala% s,% d и т.д., str.format теперь обескуражены в пользу str.format.

  • 0
    @ khelwood Упс, спасибо за исправление!
  • 0
    Хорошо подмечено...
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню