Ошибка отступа Python - PullRequest
       1

Ошибка отступа Python

0 голосов
/ 25 августа 2010

Я использую витой API и просматривал этот пример.Я вставил один оператор print print «в getdummydata» с правильным отступом.код такой:

from twisted.internet import reactor, defer

def getDummyData(x):
    """
    This function is a dummy which simulates a delayed result and
    returns a Deferred which will fire with that result. Don't try too
    hard to understand this.
    """
    print "in getdummydata"
    d = defer.Deferred()
    # simulate a delayed result by asking the reactor to fire the
    # Deferred in 2 seconds time with the result x * 3
    reactor.callLater(2, d.callback, x * 3)
    return d

def printData(d):
    """
    Data handling function to be added as a callback: handles the
    data by printing the result
    """
    print d

d = getDummyData(3)
d.addCallback(printData)

# manually set up the end of the process by asking the reactor to
# stop itself in 4 seconds time
reactor.callLater(4, reactor.stop)
# start up the Twisted reactor (event loop handler) manually
reactor.run()

Но когда я запускаю код, он дает ошибку отступа ниже:

  File "C:\Python26\programs\twisttest.py", line 9
    print "in getdummydata"
    ^
IndentationError: unexpected indent

Пожалуйста, кто-нибудь может объяснить, почему?

Ответы [ 3 ]

1 голос
/ 25 августа 2010

Похоже, что "def" для всех ваших функций перед ними одно пустое место.На мой взгляд, «def» попадает под «r» в «from», а не «f».

Возможно, если вы удалите эти пробелы, проблема исчезнет.Пробелы важны для Python.

0 голосов
/ 25 августа 2010

Эта ошибка может возникнуть только из-за неправильного отступа.Это означает, что строка документации до и оператор печати имеют разные отступы.Даже если они выглядят правильно выровненными, может быть сочетание табуляции и пробелов.Просто переделайте отступ или скопируйте код из вашего вопроса - ТАК исправил его сам; -)

0 голосов
/ 25 августа 2010

Убедитесь, что вы не смешиваете пробелы и табуляции.

...