2016-06-01 6 views
2

私はPythonプロジェクトで作業しています。現在、私のコードは400以上の行を持っています。ある時点では、回避策が必要な小さなバグについて複数行のコメントを書く必要があり、通訳者は構文エラーを起こすことにしました。Python 3.xの複数行のコメントで構文エラーが発生する

インタープリタによると、構文エラーはelifに発生しています。 私はインデントを再確認し、タブをスペースに変換しました。何も動作していないようです。

    if some_condition_1 == True: 
         do_something() 

        """ 
        Sub stage (b): 
        Refer documentation [1.7A] for ... 
        .... 
        .... 
        .... 
        """ 
        elif condition_1 == True: 
         if condition_2 == False: 
          list.append(item) 

ただし、複数行のコメントを削除するとコードは正常に実行されます。

何が問題なのでしょうか?上に示したコードサンプルは、非常にトップのファイルにあり、何かが間違ってしまうことはありません。

答えて

7

これはインデントエラーです。あなたの "複数行のコメント"(実際には複数行の文字列)は、他のもののようにブロックifの下に字下げする必要があります。

""" These kinds of things """はPythonでは実際にはコメントではありません。あなたは文字列を作成してから、値を離れて投げているだけです(どこにも格納しません)。 Pythonは真の複数行のコメントを持たないので、多くの人がこれを使います。しかし、それらは真のコメントではないので(インタプリタによって無視されることはない)、字下げ規則を含むすべての通常の構文規則に従わなければならない。

(私は大まかに話して「の文字列を作成する」と言ったときにご注意ください。CPythonのは、少なくとも、ここにオブジェクトを作成しないように最適化されています。)

+0

おかげでトン。とった! –

+0

@PawanKartikあなたが気にしないなら、答えの下にあるチェックマークを押して "解決済み"にしてください。ロボットの掃除機が狂ってしまうのを防ぎます。 :) –

+1

しました。 10分の時間制限がありました。だから私はそれが終わるのを待っていた。 :) –

関連する問題