Для начала, попробуйте сделать это с +
:
>>> concatenate_me = (1,2,99999,100,600, 80)
>>>'{0} {0} {2} {2} {1} {2} {3} {5} {5} {4} {0} {2}'.format(*concatenate_me)
.format()
преимущества:
Содержит заполнители, т.е...{0}..{1}..{2}
. Используя .format
, переданные аргументы подставляются в их соответствующие заполнители (в соответствии с их порядком). Это позволяет повторно использовать аргументы, как показано в примере выше.
В каждой замене .format
у вас есть format specification (:
). Эта спецификация позволяет вам управлять многими свойствами для каждой сделанной вами замены, и для этого есть целый мини-язык.
Кроме того, .format
функция, которую вы можете передать в качестве аргумента при необходимости. В Python 3 он называется advanced string formatting, поскольку он намного мощнее, чем простая конкатенация.
Вы можете сделать некоторые довольно дикие и гибкие вещи, если вы действительно хотите, используя функцию .format
, а также, например:
>>>'Python {0.version_info[0]:!<13.2%}'.format(sys)
'Python 300.00%!!!!!!'
И еще один пример со словарем, чтобы отобразить его способность принимать ключевые аргументы:
>>>my_dict = { 'adjective': 'cool', 'function':'format'}
>>>"Look how awesome my {adjective} Python {function} skills are!".format(**my_dict)
'Look how awesome my cool Python format skills are.'
Там же еще несколько примеров и использует в Python docs ,
Более читаемый и более питонический. :) – Zizouz212
также намного удобнее, если вы хотите напечатать смешанные типы –
Это может сделать локализацию намного проще, поскольку порядок слов может меняться между языками. – Phylogenesis