Python способ печати: с форматом или формой процента?

В Python, кажется, есть два разных способа генерации форматированного вывода:

user = "Alex" number = 38746 print("%s asked %d questions on stackoverflow.com" % (user, number)) print("{0} asked {1} questions on stackoverflow.com".format(user, number)) 

Есть ли способ быть предпочтительным по сравнению с другим? Являются ли они эквивалентными, в чем разница? Какую форму следует использовать, особенно для Python3?

  • Загрузка ошибки формата svmlight
  • Как изменить тип данных фрейма данных pandas на строку с определенным форматом?
  • самый умный способ объединения двух списков в форматированную строку
  • Добавьте разделители тысяч десятичных знаков в число
  • Python: «#» Комментарии после обратной косой черты
  • Форматы строк Python с подстановочными знаками SQL и LIKE
  • Как печатать класс или объекты класса с помощью print ()?
  • Как печатать Docstring функции python внутри самой функции?
  • Мне нужна помощь, обертывающая мою голову вокруг оператора return с помощью Python и его роли в этом рекурсивном выражении
  • Parsing datetime в Python ..?
  • В чем преимущество новой функции печати в Python 3.x над оператором печати Python 2?
  • Формат строки python, вызывающий функцию
  • 4 Solutions collect form web for “Python способ печати: с форматом или формой процента?”

    Используйте метод format , особенно если вас беспокоит Python 3 и будущее. Из документации :

    Операции форматирования, описанные здесь [% substitutions], устарели и могут уйти в будущих версиях Python. Используйте новое строковое форматирование в новом коде.

    .format был введен в Python2.6

    Если вам нужна обратная совместимость с предыдущим Python, вы должны использовать %

    Для Python3 и новее вы должны обязательно использовать .format

    .format более мощный, чем % . Портирование % в .format легко, но наоборот может быть нетривиальным

    Вы можете использовать оба .Нет одного указанного выражения форматирования%, не рекомендуется. Однако, как указывалось ранее, метод метода метода является более мощным. Также обратите внимание, что выражения% более сжатые и более простые для кода. Попробуйте их и посмотрите, что вам подходит лучше всего.

    Документы говорят, что метод format предпочтительнее для нового кода. Однако в настоящее время не планируется удаление% форматирования.

    Python - лучший язык программирования в мире.