Как я могу определить строку в функции Python? - PullRequest
1 голос
/ 18 июля 2010

Я впервые играю с Python и Google App Engine, но не могу определить строку в своей функции (mytest2), после объявления появляется ошибка с отступом в строке Я могу определить один в параметрах, которые работают (тест), но не могу понять, почему я не смог бы сделать это в функции.

Я прочитал несколько уроков, не достигнув просветления. Кто-нибудь может дать мне знать, что я здесь не так?

Мне также интересно, как я мог бы сделать это, имея что-то вроде mytest1, определенное в классе и затем доступное в функции?

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() 

1 Ответ

2 голосов
/ 18 июля 2010

Никогда не смешивайте символы табуляции и пробелы в Python!

Общепринятая практика - использовать 4 пробела для отступа.Это написано в PEP 8 , руководстве по стилю Python.Я настоятельно рекомендую прочитать его.

Обычно я устанавливаю в своем редакторе замену вкладок на 4 пробела, каждый достойный текстовый редактор поддерживает это.

Причина, по которой вкладки являются проблемой в вашем примере, заключается в том, чтозаменяются до 8 пробелами, и ваш отступ в основном 4 пробела ( Документация Python )

...