0

次のような Python コードがあります。

'''
a) comments
'''
try:
  do_stuff()

'''
b) comments
'''
except Error:
  do_stuff()

しかし、(b) コメントは構文エラーであると不平を言っています。次のようにインデントする必要があります。

'''
a) comments
'''
try:
  do_stuff()

  '''
  b) comments
  '''
except Error:
  do_stuff()

これはなぜですか、どうすれば回避できますか? (b) コメントは、それらが説明する "except" ステートメントと同じレベルにする必要があります。

ありがとう

4

3 に答える 3

3

三重引用符は、実際にはコメントではなく文字列です。

したがって、それに応じて文字列をインデントする必要があります (すべてのコロン ( :) の直後にインデントされたブロックが続く必要があるため)

于 2013-08-13T00:12:32.073 に答える
2

通常、三重引用符は複数行の文字列またはdocstringに使用され、ドキュメント化する関数/クラス/モジュールの先頭にのみ表示されます。

docstring を記述しない場合は、通常のコメント構文を使用することをお勧めします。

# this is a comment

"""また、docstring が必要な場合は、慣習により、3 つの二重引用符を使用することが規定されています。'''

于 2013-08-13T00:17:34.090 に答える
0

まず、これはコメントではなく文字列であるため、実際にやろうとしていることは異なります。インデントとデデントは、他の言語の開き括弧と閉じ括弧に似ているため、(PHP のような構文で) 実際に行っていることは次のとおりです。

try {
    $some_string = 'a) comments';
    do_stuff();
} // notice closing bracket, which works like decreased indent
$some_string = 'b) comments';
catch (Error $e) {
    do_stuff();
}

代わりに実際のコメントを使用してみてください。

# a) comments
try:
    do_stuff()

# b) comments
except Error:
    do_stuff()

デモ: http://ideone.com/CxU56R

于 2013-08-13T00:16:31.547 に答える