У меня есть функция, которая ожидает два значения отсечки, называемые min_df
и max_df
. Либо может быть int
для обозначения абсолютной частоты среза, либо float
для обозначения относительной частоты. Теперь я хочу добавить несколько проверок и дать соответствующие предупреждающие сообщения, но без лишних помех. Это работает:
if max_df < 0 or min_df < 0:
raise ValueError, "neither max_df (%s) nor min_df (%s) may be <0" %
(max_df, min_df)
, но с float
, таким как (1/3.)
, предупреждение содержит 0.333333333333
. Я бы предпочел, чтобы он сказал 0.333
, поэтому я попытался %.3f
, но это также превращает значения int
в числа с плавающей точкой и отображает 2.000
для 2
.
Как включить тип, чтобы получить правильный формат? Нужно ли создавать строку форматирования перед передачей ее оператору %
?
Обновление : мне нужно что-то, что работает в Python 2.5, так как это минимальная версия, на которую я нацеливаюсь.