Несомненно, используйте метод .format. НАПРИМЕР,
print '{:10s} {:3d} {:7.2f}'.format('xxx', 123, 98)
print '{:10s} {:3d} {:7.2f}'.format('yyyy', 3, 1.0)
print '{:10s} {:3d} {:7.2f}'.format('zz', 42, 123.34)
напечатает
xxx 123 98.00
yyyy 3 1.00
zz 42 123.34
Вы можете настроить размеры поля по желанию. Обратите внимание, что .format
работает независимо от print
для форматирования строки. Я просто использовал печать для отображения строк. Краткое объяснение:
10s
формат строка с 10 пробелов, выравнивание по левому краю, по умолчанию
3d
формате целое резервирование 3 пространства, выравнивать по правому краю по умолчанию
7.2f
формате с плавающей точкой, оставляя за собой 7 пространства, 2 после десятичной точки, справа по умолчанию.
Существует множество дополнительных опций для ввода/форматирования строк (отступы, выравнивание влево/вправо и т. Д.), String Formatting Operations предоставит дополнительную информацию.
Точно, что я искал, спасибо! – anio
Примечание: '7.2f' обеспечивает точность 2, но 7 - это только ширина _minimum_. Для входов, которые не соответствуют форматам, вы не можете получить ширину 7. Например. хотя 12345.7 составляет всего 7 символов, '' {: 7.2f} '. format (12345.7) 'имеет ширину 8. – jkmacc
@jkmacc хорошая точка, спасибо за явное указание этого (ссылка содержит дополнительную информацию об этом и многое другое , а также справа вверху № 4, но это более явное/простое :) – Levon