Аннотатные точки - это точки с плавающей точкой, а не цифры [dубликаты]

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

91
задан SilentGhost 26 July 2010 в 16:49
поделиться

7 ответов

Форматирование в Python выполняется с помощью оператора форматирования строки (%) :

  "% 02d:% 02d:% 02d"% (часы, минуты,  секунд)  

/ Edit: Также существует strftime .

123
ответ дан Thomas W 15 August 2018 в 20:31
поделиться
  • 1
    – Semjon Mössinger 20 December 2013 в 12:40
  • 2
    Для других экземпляров, использующих float (если вы хотите показать десятичные числа), вы должны использовать % f вместо % d – jocull 23 April 2014 в 17:34
  • 3
    @jocull True, но этот метод устарел в пользу str.format в любом случае, и формат строк работает совсем по-другому. – Konrad Rudolph 23 April 2014 в 18:41

Вы можете использовать форматирование строки стиля C:

  "% d:% d: d"% (часы, минуты, секунды)  

См. здесь, особенно: https://web.archive.org/web/20120415173443/http://diveintopython3.ep.io/strings.html

4
ответ дан andrewsi 15 August 2018 в 20:31
поделиться

В Python 2.6+ можно использовать функцию format () , поэтому в вашем случае вы можете использовать:

  return '{: 02d}  : {: 02d}: {:. 2f} {} '. Format (часы, минуты, секунды, ampm)  

Существует несколько способов использования этой функции, поэтому для получения дополнительной информации вы может проверить документацию .

7
ответ дан lmiguelvargasf 15 August 2018 в 20:31
поделиться

str () в python для целого числа не будет печатать никакие десятичные числа.

Если у вас есть float, который вы хотите игнорировать десятичную часть, тогда вы можете использовать str (int (floatValue)).

Возможно, следующий код продемонстрирует:

  & gt; gt; & gt; gt;  str (5) '5' & gt; & gt; & gt; & gt;  int (8.7) 8  
1
ответ дан Matthew Schinckel 15 August 2018 в 20:31
поделиться

Если у вас есть значение, которое включает десятичное число, но десятичное значение пренебрежимо мало (то есть: 100.0) и попробуйте int, вы получите сообщение об ошибке. Это кажется глупым, но вызов float сначала исправляет это.

str (int (float ([variable])))

1
ответ дан Ruz 15 August 2018 в 20:31
поделиться
  • 1
    – SilentGhost 26 July 2010 в 16:49
  • 2
    @SilentGhost является правильным: вместо того, чтобы отвечать на другие ответы, этот ответ должен быть опубликован как комментарий к OP. – wescpy 23 November 2013 в 20:51

Вы можете использовать следующие для достижения желаемой функциональности

  "% d:% d: d"% (часы, минуты, секунды)  
2
ответ дан Varun Chadha 15 August 2018 в 20:31
поделиться

Начиная с 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]: -

)
89
ответ дан wescpy 15 August 2018 в 20:31
поделиться
Другие вопросы по тегам:

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