veo que no puedo hacer:¿Cómo se formatean los booleanos en Cadenas en Python?
"%b %b" % (True, False)
en Python. Adiviné %b
para b (oolean). ¿Hay algo como esto?
veo que no puedo hacer:¿Cómo se formatean los booleanos en Cadenas en Python?
"%b %b" % (True, False)
en Python. Adiviné %b
para b (oolean). ¿Hay algo como esto?
>>> print "%r, %r" % (True, False)
True, False
Esto no es específico de valores booleanos - %r
llama al método __repr__
en el argumento. %s
(para str
) también debería funcionar.
¿Cuál es la principal diferencia entre '% r' y'% s'? – Stallman
Siempre tuve esta distensión en mente, pero corrígeme si me equivoco. % s (y por lo tanto str()) apuntan a representar el objeto de la forma más transparente posible para los humanos. % r (y por lo tanto repr()) apuntan a representar el objeto de la manera más transparente posible para python. Por ejemplo, 'print (str (" foo "))' simplemente imprime 'foo' 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 para escribir en el intérprete de python para obtener el objeto correspondiente al argumento en python. – bobismijnnaam
Si desea True False
uso:
"%s %s" % (True, False)
porque str(True)
es 'True'
y str(False)
es 'False'
.
o si desea 1 0
uso:
"%i %i" % (True, False)
porque int(True)
es 1
y int(False)
es 0
.
También puede utilizar la cadena de Formatter class
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);
Estos son los resultados
True False
True False
1 0
1.000000 0.000000
1.000000e+00 0.000000e+00
Algunos de los especificadores de tipo %
-format (%r
, %i
) no están disponibles. Para obtener detalles, consulte Format Specification Mini-Language
Tenga en cuenta que agregar opciones de formato [puede arruinarlo.] (Http://stackoverflow.com/q/36573222/241211) P. ej. '{: _^5}' te conseguirá ''__1 __' 'a menos que' str (...) 'los booleanos. – Michael
Puedes [moverte] (https://stackoverflow.com/a/48326865/241211) los problemas con conversiones de tipo como '! S':' '{! S: _^5}'. Format (True) ' es ''True_'' – Michael
¿Cuál es el resultado? ¿Verdadero y falso? Entonces quieres '% s'. % b, cuando existe, es para binario (como en base-2). –
¡Ho sí! "% s" parece funcionar bien. Responda esta pregunta y obtenga una respuesta. Solía hacer "% s"% str (False). Lástima de mí :) –
enlace a la documentación pertinente: http://docs.python.org/library/stdtypes.html#string-formatting-operations – bernie