Ya veo que no puedo hacer:
"%b %b" % (True, False)
en Python Supuse %b
que b (oolean). ¿Hay algo como esto?
python
boolean
string-formatting
Juanjo Conti
fuente
fuente
Respuestas:
Esto no es específico de los valores booleanos:
%r
llama al__repr__
método en el argumento.%s
(parastr
) también debería funcionar.fuente
%r
y%s
?print(str("foo"))
simplemente imprimefoo
en una nueva línea.print(repr("foo"))
sin embargo, imprime'foo'
en una nueva línea, incluidas las comillas, ya que eso es lo que necesita escribir en el intérprete de Python para obtener el objeto correspondiente al argumento en Python.Si quieres
True False
usar:porque
str(True)
es'True'
ystr(False)
es'False'
.o si quieres
1 0
usar:porque
int(True)
es1
yint(False)
es0
.fuente
También puede usar la clase de cadena Formatter
Estos son los resultados.
Algunos de los
%
especificadores de tipo de formato (%r
,%i
) no están disponibles. Para más detalles, consulte el Mini-idioma de especificaciones de formatofuente
{:_^5}
,'__1__'
testr(...)
atrapará a menos que seas booleano.!s
:'{!s:_^5}'.format(True)
es'True_'
Para actualizar esto para Python-3, puede hacer esto
Sin embargo, si desea formatear la cadena (por ejemplo, agregar espacios en blanco), se encuentra con Python que convierte el valor booleano en el valor C subyacente (es decir, un int), por ejemplo
Para evitar esto, puede lanzar
True
como una cadena, por ejemplofuente