2010-07-18 7 views
1

Je joue avec Python et Google App Engine pour la première fois mais je suis incapable de définir une chaîne dans ma fonction (mytest2), j'obtiens une erreur d'indentation sur la ligne après la déclaration. Je peux en définir un dans les paramètres qui fonctionnent (test) mais je ne vois pas pourquoi je ne serais pas capable de le faire dans la fonction aussi. J'ai lu quelques tutoriels sans gagner l'illumination. Quelqu'un peut-il me faire savoir ce que j'ai tort ici?Comment puis-je définir une chaîne dans une fonction python?

Je me demande aussi comment je pourrais faire cela en ayant quelque chose comme mytest1 défini dans la classe et ensuite accessible dans la fonction?

from google.appengine.ext import webapp 
from google.appengine.ext.webapp.util import run_wsgi_app 

class MainPage(webapp.RequestHandler): 
    #mytest1 = "test1" 
    #Runtime failure on this line talking about an indent issue 
    def get(self, test = 'testing!'): 
     mytest2= "test2" #Runtime failure on this line talking about an indent issue 
     self.response.headers['Content-Type'] = 'text/plain' 
     self.response.out.write('Hello, webapp World!\n') 
     self.response.out.write(self) 
     #self.response.out.write('\n' + mytest1) 
     self.response.out.write('\n' + mytest2) 

application = webapp.WSGIApplication(
           [('/', MainPage)], 
           debug=True) 

def main(): 
    run_wsgi_app(application) 

if __name__ == "__main__": 
    main() 
+2

Vous mélangez des onglets et des espaces? – kennytm

+0

Pourquoi oui, oui je suis! C'est simple. Je n'y ai jamais pensé et je ne l'ai pas vu mentionné dans les intros pour être au courant. Si simple! –

Répondre

2

Never mix tabs and spaces in python!

pratique généralement acceptée est d'utiliser 4 espaces pour l'indentation. Ceci est écrit en PEP 8, le guide de style python. Je recommande fortement de le lire.

Je règle généralement mon éditeur pour remplacer les onglets avec 4 espaces, chaque éditeur de texte décent le supporte.

La raison pour laquelle les onglets sont un problème dans votre exemple est qu'ils sont remplacés par jusqu'à 8 espaces et votre empreinte est la plupart du temps 4 espaces (Python documentation)

Questions connexes