1

xcode と vi でこのエラーが発生しています。Python は、行クラス LeastModel に IndentationError があると言います: インデントされたブロックが必要です。タブに4つのスペースを使用するようにXcodeの設定を確認し、タブを使用しているすべての場所で使用しました。私を助けてください!

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
4

3 に答える 3

4

あなたの問題は、行の後にインデントされたコードがないことです:

def make_model(data,model):

次のいずれかを実行できます。

  1. その行を取り除く

  2. その関数の本体にインデントされたコードを書きます

  3. 関数内でクラスを定義するように、クラス定義全体をインデントしますLeastModel

make_model関数とクラスを呼び出したという事実から判断するとLeastModel、クラス定義を関数内に配置するつもりだったと思います。しかし、これはあなたの側の間違いかもしれません-関数で定義すると、関数の外でクラスを使用できないことに注意してください(関数からクラス自体を行で返さない限りreturn LeastModel.

于 2013-02-19T20:23:11.017 に答える
2

コピー エラーがなく、それが実際のコードの外観であると仮定すると__init__()、クラス定義の内側になるようにインデントする必要があります。

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

編集:完全なコードを含めたので、実際の問題は、make_model()関数定義の下に何もないことです。その関数が実際に何もしないと思われる場合はpass、行の下に追加しますdef(1 レベルインデント)。それ以外の場合は、そこにコードを追加するか、行を削除してdefください。

于 2013-02-19T20:17:21.160 に答える
1

そうではありませんか:

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
于 2013-02-19T20:17:29.330 に答える