Строка, форматирующая выражения (Python)

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

5
задан sykora 19 November 2009 в 13:27
поделиться

3 ответа

Первоначальная идея заключалась в постепенном переключении на подход str.format (), позволяя использовать оба способа:

PEP 3101:
Новая система не конфликтует ни с одним из имен методов существующих методов форматирования строк, поэтому обе системы могут сосуществовать до тех пор, пока не придет время отказаться от старой системы.

Идея все еще разрабатывается:

Мы по-прежнему поощряем людей использовать новый str.format (). Проблема Python 7343

Поскольку исходный подход «%» планируется не рекомендовать и удалить в какой-то момент в будущем, я бы предложил написать новый код с помощью str.format (). Хотя на данный момент это вопрос личных предпочтений. Я лично предпочитаю использовать форматирование на основе словаря, которое поддерживается как оператором «%», так и методом str.format ().

5
ответ дан 18 December 2019 в 08:28
поделиться

Ни то, ни другое; первый используется во многих местах, а второй был представлен только что. Поэтому вопрос больше в том, какой стиль вы предпочитаете. На самом деле я предпочитаю форматирование на основе dict :

d = { 'count': 1, 'txt': 'nice' }
'This is %(count)d %(txt)s example!' % d

Это гарантирует, что правильный параметр попадает в нужное место, позволяет повторно использовать один и тот же параметр в нескольких местах и ​​т. Д.

8
ответ дан 18 December 2019 в 08:28
поделиться

Я думал, что читал, что оператор % уже устарел в версии 3.1, поэтому я бы остановился на функции format () .

См. PEP 3101: Новый подход к форматированию строк

6
ответ дан 18 December 2019 в 08:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: