Все зависит от типа данных. Назначение булевых ускорений быстрее, чем их сравнение. Но это может быть неверно для более крупных основанных на данных типов данных.
Форматирование в Python выполняется с помощью оператора форматирования строки (%) :
"% 02d:% 02d:% 02d"% (часы, минуты, секунд)
/ Edit: Также существует strftime .
Вы можете использовать форматирование строки стиля C:
"% d:% d: d"% (часы, минуты, секунды)
См. здесь, особенно: https://web.archive.org/web/20120415173443/http://diveintopython3.ep.io/strings.html
В Python 2.6+ можно использовать функцию format ()
, поэтому в вашем случае вы можете использовать:
return '{: 02d} : {: 02d}: {:. 2f} {} '. Format (часы, минуты, секунды, ampm)
Существует несколько способов использования этой функции, поэтому для получения дополнительной информации вы может проверить документацию .
str () в python для целого числа не будет печатать никакие десятичные числа.
Если у вас есть float, который вы хотите игнорировать десятичную часть, тогда вы можете использовать str (int (floatValue)).
Возможно, следующий код продемонстрирует:
& gt; gt; & gt; gt; str (5) '5' & gt; & gt; & gt; & gt; int (8.7) 8
Если у вас есть значение, которое включает десятичное число, но десятичное значение пренебрежимо мало (то есть: 100.0) и попробуйте int, вы получите сообщение об ошибке. Это кажется глупым, но вызов float сначала исправляет это.
str (int (float ([variable])))
Вы можете использовать следующие для достижения желаемой функциональности
"% d:% d: d"% (часы, минуты, секунды)
Начиная с Python 2.6 существует альтернатива: метод str.format ()
. Ниже приведены некоторые примеры использования существующего оператора строкового формата (%
):
& gt; gt; & gt; "Имя:% s, возраст:% d"% ('John', 35) 'Имя: John, age: 35' & gt; & gt; & gt; & gt; & gt; & gt; i = 45 & gt; & gt; 'dec:% d / oct:% # o / hex:% # X'% (i, i, i) 'dec: 45 / oct: 055 / hex: 0X2D' & gt; & gt; & gt; & gt; "MM / DD / YY =% 02d /% 02d /% 02d"% (12, 7, 41) 'MM / DD / YY = 12/07/41' & gt; & gt; & gt; & gt; «Итого с налогом: $%. 2f '% (13.00 * 1.0825)« Всего с налогом: $ 14,07 & gt; & gt; & gt; & gt; d = {'web': 'user', 'page': 42} & gt; & gt; & gt; & gt; & gt; 'http: //xxx.yyy.zzz/% (web) s /% (страница) d.html'% d 'http: //xxx.yyy.zzz/user/42.html'
Ниже приведены эквивалентные фрагменты, но с использованием str.format ()
:
& gt; gt; gt; «Имя: {0}, возраст: {1}". Format ('John', 35) 'Name: John, age: 35' & gt; & gt; & gt; & gt; & gt; i = 45 & gt; & gt; 'dec: {0} / oct: {0: #o} / hex: {0: #X}'. format (i) 'dec: 45 / oct: 0o55 / hex: 0X2D' & gt; gt; "MM / DD / YY = {0: 02d} / {1: 02d} / {2: 02d}". Format (12, 7, 41) 'MM / DD / YY = 12/07/41' & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; ; & GT; «Итого с налогом: $ {0: .2f}». Формат (13.00 * 1.0825) «Всего с налогом: $ 14.07» & gt; & gt; & gt; & gt; d = {'web': 'user', 'page': 42} & gt; & gt; & gt; & gt; & gt; 'http: //xxx.yyy.zzz/ {web} / {page} .html'.format (** d)' http: //xxx.yyy.zzz/user/42.html '
[ ! d12]Как и Python 2.6+, все выпуски Python 3 (до сих пор) понимают, как это сделать. Я бесстыдно разорвал этот материал прямо из моей хардкорной интро-книги Python и слайдов для курсов Intro + Intermediate Python, которые я предлагаю время от времени. [D7]: -
)
str.format ()
- правильный ответ здесь, особенно '{:. 2f}'. Format (3.145159)
. Хороший ответ!
– rickcnagy
20 September 2014 в 00:41
% f
вместо% d
– jocull 23 April 2014 в 17:34str.format
в любом случае, и формат строк работает совсем по-другому. – Konrad Rudolph 23 April 2014 в 18:41