Форум сайта python.su
Встретил здесь утверждение “Однако, со временем, форматирование строк будет удалено из языка”. Как в таком случае форматировать при выводе чисел? Например что будет вместо:
print '%2d %8.3f %12.6f ' % (i, x, y)
Офлайн
Офлайн
Спасибо, вроде ничего не забыли, хотя опять синтаксис новый
А модуль есть для версий до 2.6, чтобы к коду добавлять и всё по новому делать?
Офлайн
alien308http://www.python.org/dev/peps/pep-3101/
вроде ничего не забыли, хотя опять синтаксис новый
Офлайн
Вот это из ссылка работает:
import datetime "Today is: {0:%a %b %d %H:%M:%S %Y}".format(datetime.datetime.now())
>>> "{0:%f}".format(10.11111) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: Invalid conversion specification
Отредактировано alien308 (Ноя. 20, 2012 09:25:13)
Офлайн
alien308Для объекта datetime определен собственный спецификатор формата, в PEP3101 про это написано
Недопилили?
Офлайн
alien308>>> "{0:%f}".format(10.11111) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: Invalid conversion specification
>>> '{0:f}'.format(10.5) '10.500000' >>>
Офлайн
Спасибо, для реального форматирования надо так:
>>>'{0:6.2f}'.format(10.5) ' 10.50'
Офлайн