Vejo que não posso fazer:
"%b %b" % (True, False)
em Python. Eu adivinhei %b
para b (oolean). Existe algo assim?
Vejo que não posso fazer:
"%b %b" % (True, False)
em Python. Eu adivinhei %b
para b (oolean). Existe algo assim?
Respostas:
>>> print "%r, %r" % (True, False)
True, False
Isso não é específico para valores booleanos - %r
chama o __repr__
método no argumento. %s
(para str
) também deve funcionar.
%r
e %s
?
print(str("foo"))
apenas imprime foo
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.
Você também pode usar a classe Formatador de sequência
print "{0} {1}".format(True, False);
print "{0:} {1:}".format(True, False);
print "{0:d} {1:d}".format(True, False);
print "{0:f} {1:f}".format(True, False);
print "{0:e} {1:e}".format(True, False);
Estes são os resultados
True False
True False
1 0
1.000000 0.000000
1.000000e+00 0.000000e+00
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.
{:_^5}
, você receberá a '__1__'
menos que você str(...)
os booleanos.
Para atualizar isso para o Python-3, você pode fazer isso
"{} {}".format(True, False)
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
>>> "{:<8} {}".format(True, False)
'1 False'
Para contornar isso, você pode moldar True
como uma corda, por exemplo
>>> "{:<8} {}".format(str(True), False)
'True False'