Python IndentationError: "erwartet einen eingerückten block" auf Xcode
Ich habe immer diesen Fehler in xcode und vi. Python sagt die line-Klasse LeastModel hat einen IndentationError: expected einen eingerückten block.
Ich habe meine Einstellungen auf Xcode 4 Leerzeichen für einen Tabulator und überall habe ich mit tab. Bitte helfen Sie mir!
def make_model(data,model):
class LeastModel():
"""
linear system solved using linear least squares
This class serves as an example that fulfills the model interface needed by the ransa function.
"""
def __init__(self,input_columns,output_columns):
self.input_columns = input_columns
self.output_columns = output_columns
#self.debug = debug
- Wenn das problem ist wirklich die
class LeastModel
Linie, wie Sie es sagen, dann muss das problem auf eine frühere Linie (gibt es eineif x:
Zeile rechts, bevor es, zum Beispiel?)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein problem ist, dass Sie keine eingerückten code nach der Zeile:
Können Sie entweder:
Loszuwerden, die Linie
Schreiben Sie einen eingerückten code in den Körper der Funktion
Einzug Ihres gesamten Klassendefinition, so dass Sie bei der Definition der Klasse
LeastModel
innerhalb der Funktion.Beurteilung durch die Tatsache, dass Sie namens Ihrer Funktion
make_model
und Ihre KlasseLeastModel
Sie, denke ich, irgendwie soll die definition der Klasse innerhalb der Funktion. Aber dies könnte ein Fehler auf Ihrer Seite - beachten Sie, dass wenn Sie legen es in eine Funktion, die Sie nicht in der Lage sein, um die Klasse zu verwenden, die außerhalb der Funktion (es sei denn, Sie geben die Klasse an sich von der Funktion, mit der Leitungreturn LeastModel
.Vorausgesetzt, es war nicht eine Kopie von Fehler-und das ist das, was dein code tatsächlich aussieht, müssen Sie Einrücken
__init__()
so, dass es innerhalb der Klasse definition:edit: Jetzt haben Sie enthalten den vollständigen code, das Problem ist eigentlich, dass Sie nichts unter Ihrem
make_model()
definition einer Funktion. Wenn die Funktion ist eigentlich nichts zu tun, fügen Siepass
unter derdef
Linie (eine Ebene eingerückt). Andernfalls fügen Sie einige code dort, oder entfernen Sie diedef
Linie.IndentationError
. (Getestet mit Python 2.6, 2.7 und 3). Die eingerückt docstring dient dem gleichen Zweck wie einpass
. Und neben der OP sagt, das ist, was sein code aussieht sowieso.Sollte es nicht sein:
IndentationError
. (Getestet mit Python 2.6, 2.7 und 3).pass
nachLeastModel():
.pass
).