Python の予期しないインデント エラーの種類と解決方法は何ですか?

Susan Sarandon
リリース: 2024-10-17 19:17:02
オリジナル
649 人が閲覧しました

What are the Types and How to Resolve Unexpected Indent Errors in Python?

予期しないインデント: Python の一般的なジレンマ

Python ではコード ブロックの配置が重要であり、「予期しないインデント」エラーが発生する可能性がありますコード行のインデントが予想される構造と競合する場合。予期しないインデント エラーの種類とその解決方法を見てみましょう。

予期しないインデント

このエラーは、行のインデントがその前の行より多くても、そうでない場合に発生します。有効なサブブロックに属しています。 if、while、または for ステートメントに続くコード ブロックなどは、全体で一貫したインデントが必要です。

例:

<code class="python">def a():
  print "foo"
    print "bar"  # Error: unexpected indent</code>
ログイン後にコピー

この場合、2 行目は 2 行目よりも多くインデントされています。 1 つ目は、一貫したインデント ルールに違反しています。

Unindent Does Not Match

このエラーは、行のインデント スペースがその前の行より少ない場合に発生しますが、そうでない場合に発生します。外側のインデントレベルに合わせて配置します。 Python は行の正しいインデント レベルを決定できません。

例:

<code class="python">if user == "Joey":
  print "Super secret powers enabled!"
print "Revealing super secrets"  # Error: unindent does not match</code>
ログイン後にコピー

最後の行は、その前の行と同じインデントにするか、前の行のインデントを減らす必要があります。 if user == "Joey" によって開始されたコード ブロックが終了しました。

インデントされたブロックが必要です

このエラーは、行がその前の行と一致するように適切にインデントされていない場合に発生します。この行は、if、while、for ステートメントや関数定義などのブロックを開始することが期待されています。

例:

<code class="python">def foo():
  print "Bar"  # Error: expected an indented block</code>
ログイン後にコピー

このエラーを回避するには、次を使用します。操作を行わない関数が必要な場合はパスします:

<code class="python">def foo():
  pass</code>
ログイン後にコピー

インデント エラーを回避するためのヒント

「予期しないインデント」エラーを排除するには、次のガイドラインに従ってください:

  • コード全体で一貫したインデント (スペース 4 つまたはタブ 2 つなど) を使用します。
  • タブとスペースの混合は避けてください。
  • インデントを自動的に処理する優れた IDE を使用してください。
  • インデントの不一致がないかコードを注意深く校正してください。

これらのガイドラインに従うことで、インデント エラーを防ぎ、Python コードの読みやすさと保守性を向上させることができます。

以上がPython の予期しないインデント エラーの種類と解決方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!