Я играю с 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()
Никогда не смешивайте табуляцию и пробелы в python!
Общепринятой практикой является использование 4 пробелов для отступов. Это написано в PEP 8, руководстве по стилю python. Я настоятельно рекомендую прочитать его.
Я обычно устанавливаю в своем редакторе замену табуляции на 4 пробела, каждый приличный текстовый редактор поддерживает это.
Причина, по которой табуляция является проблемой в вашем примере, заключается в том, что она заменяется до 8 пробелов, а ваш отступ в основном 4 пробела (документация Python)