AttributeError: el objeto ‘NoneType’ no tiene atributo ‘formato’

print ("Hello World") print ("{} World").format(Hello) 

Estoy trabajando en mi primer progtwig “Hello World” y puedo hacer que funcione con la función de impresión y solo con un texto de cadena simple, pero cuando bash usar .format me da el error:

 AttributeError: 'NoneType' object has no attribute 'format' 

¿Esto dice que necesito inicializar una variable para .format o me falta algo?

Tus corchetes estan mal

 print("Hello World") print("{} World".format('Hello')) 

Nota – los errores

  • La función de format es un atributo de str por lo que debe invocarse en la cadena
  • A menos que se declare, Hello es una cadena y debería ser 'Hello'

Para Py2 puedes hacer

 print "{} World".format('Hello') 

La función de print devuelve None , así que obviamente eso es lo que está obteniendo desde el inicio de su segunda statement, a saber:

 print ("{} World") 

En ese valor de retorno de None , luego llama a .format(Hello) – incluso si una variable llamada Hello se asignó en algún lugar de su código (¡y no nos lo está mostrando a nosotros!), Está llamando a ese método de .format en el None devuelto de su llamada de print , lo que no tiene sentido.

Más bien, usted quiere llamar a .format en la cadena "{} World" , por lo que el paren cerrado justo después de la cadena y antes del punto es claramente un terrible error. Mueva eso ) hasta el final de la statement, después de la llamada para dar format a esa cadena.

Además, ¿ es Hello el nombre de una variable cuyo valor desea formatear? Espero que no, de lo contrario, ¿por qué no nos has mostrado esa variable asignada? Sospecho que desea formatear una cadena constante y solo olvidé distraídamente ponerla entre comillas (para mostrar que es una constante, ¡no el nombre de una variable!) – 'Hello' , Hello no Hello sin comillas! ¡Eso es lo que debería pasar a la forma correcta de la llamada .format …!