Vejo que não posso fazer:
"%b %b" % (True, False)
em Python. Eu adivinhei %b
para b (oolean). Existe algo assim?
python
boolean
string-formatting
Juanjo Conti
fonte
fonte
Respostas:
Isso não é específico para valores booleanos -
%r
chama o__repr__
método no argumento.%s
(parastr
) também deve funcionar.fonte
%r
e%s
?print(str("foo"))
apenas imprimefoo
em uma nova linha.print(repr("foo"))
no entanto, imprime'foo'
em uma nova linha, incluindo as aspas, pois é isso que você precisa digitar no interpretador python para obter o objeto correspondente ao argumento em python.Se você deseja
True False
usar:porque
str(True)
é'True'
estr(False)
é'False'
.ou se você deseja
1 0
usar:porque
int(True)
é1
eint(False)
é0
.fonte
Você também pode usar a classe Formatador de sequência
Estes são os resultados
Alguns dos
%
especificadores de tipo-formato (%r
,%i
) não estão disponíveis. Para obter detalhes, consulte o Mini-idioma de especificação de formato.fonte
{:_^5}
, você receberá a'__1__'
menos que vocêstr(...)
os booleanos.!s
:'{!s:_^5}'.format(True)
é'True_'
Para atualizar isso para o Python-3, você pode fazer isso
No entanto, se você realmente deseja formatar a string (por exemplo, adicione espaço em branco), encontra o Python convertendo o booleano no valor C subjacente (ou seja, um int), por exemplo
Para contornar isso, você pode moldar
True
como uma corda, por exemplofonte