Una pregunta lingüística, supongo, pero ¿cómo se llama el (5) en el código? print "%d" % (5)?

Llamo al %d una representación entera, pero no estoy seguro de cómo llamar al material que realmente representa, independientemente de que sea un número, una variable, un cálculo o w / e . ¿Se llama argumento?

Me pregunto porque estoy haciendo comentarios para una tarea donde estoy calculando cosas entre paréntesis en lugar de hacer una nueva variable, calculando la variable e insertando la variable como x = 5;print "%d" % (x)

0
Dune 4 sep. 2014 a las 16:57

2 respuestas

La mejor respuesta

La documentación lo llama "valores":

Si el formato requiere un único argumento, los valores pueden ser un único objeto sin tupla.

El %d se llama "especificaciones de conversión". Cada uno de ellos toma uno o más "argumentos" de los elementos en "valores".

%d toma un argumento, %*d toma dos, por ejemplo. Todos los argumentos forman "valores".

Eso significaría que 5 es el argumento para %d mientras que (5) son los "valores" para todo el formato.

2
Aaron Digulla 4 sep. 2014 a las 13:13

(5) es en realidad una cosa muy engañosa: ¡parece que es una tupla, pero es simplemente un número entero con padres alrededor!

Ya sea escribir

print "%d" % 5

O la forma correcta de escribir una tupla de un solo elemento,

print "%d" % (5,)

O tendrá problemas más adelante cuando tenga un caso en el que sí importa (como cuando en lugar de 5, tiene una variable que puede o no ser una tupla en sí misma).

P.ej.,

a = (2, 3)

print "%s" % a

Aumenta TypeError, ya que a tiene dos elementos y solo hay uno %.

print "%s" % (a)

También plantea TypeError, porque es exactamente lo mismo, y

print "%s" % (a,)

En realidad imprime el "(2, 3)" previsto.

0
RemcoGerlich 4 sep. 2014 a las 13:17