Я вижу, я не могу сделать:
"%b %b" % (True, False)
в Python. Я догадался %b
о б (оолеан). Есть ли что-то подобное?
python
boolean
string-formatting
Хуанхо Конти
источник
источник
Ответы:
Это не относится к логическим значениям -
%r
вызывает__repr__
метод для аргумента.%s
(дляstr
) также должно работать.источник
%r
и%s
?print(str("foo"))
просто печатаетfoo
на новой строке.print(repr("foo"))
однако печатает'foo'
на новой строке, включая кавычки, поскольку это то, что вам нужно ввести в интерпретаторе python, чтобы получить соответствующий объект для аргумента в python.Если вы хотите
True False
использовать:потому что
str(True)
есть'True'
иstr(False)
есть'False'
.или если вы хотите
1 0
использовать:потому что
int(True)
есть1
иint(False)
есть0
.источник
Вы также можете использовать класс Formatter строки
Это результаты
Некоторые из
%
спецификаторов типа -format (%r
,%i
) недоступны. Подробнее см. Спецификацию формата на мини-языкеисточник
{:_^5}
вы получите,'__1__'
если вы неstr(...)
булевы.!s
:'{!s:_^5}'.format(True)
есть'True_'
Чтобы обновить это для Python-3, вы можете сделать это
Однако, если вы хотите отформатировать строку (например, добавить пробел), вы столкнетесь с тем, что Python преобразует логическое значение в базовое значение C (например, int), например
Чтобы обойти это, вы можете использовать
True
как строку, например,источник