ホームページ  >  記事  >  バックエンド開発  >  Python のよくあるエラーと解決策、収集することをお勧めします。

Python のよくあるエラーと解決策、収集することをお勧めします。

WBOY
WBOY転載
2023-04-13 19:04:013411ブラウズ

Python のよくあるエラーと解決策、収集することをお勧めします。

本文

皆さん、こんにちは。私は Python 人工知能テクノロジーです。

コードを書くときに最も恐れていることと言えば、それは間違いなくそれです。バグ。プログラミングに触れたばかりの初心者は、コードを書くという達成感を味わっていると、さまざまなバグに戸惑うことが多いです。

Python のよくあるエラーと解決策、収集することをお勧めします。

今日は、コードを保存するための一般的な Python エラーに関する問題を共有します。

1. インデント エラー (IndentationError)

Python では、すべてのコードは正しいスペースで配置されます。したがって、余分なスペースがあってもスペースが欠けていても、コード全体は実行されず、エラー関数のみが返されます。

Python コードは PEP8 のホワイトスペース仕様に従い、インデントのレベルごとに 4 つのスペースを使用します。

エラー例

a=1
b=2
if a<b:
print a

修正

a=1
b=2
if a<b:
 print a

2. タブとスペースの混合 (TabError)

このタイプのエラーはタブの使用が原因ですエンコーディングにより、タブ キーは基本的にタブ文字であり、インデント文字ではありません。テキスト エディタによってタブ文字で表されるスペースの幅が異なるため、スペースを使用することをお勧めします。

3. SyntaxError (SyntaxError)

構文エラーの原因には以下の 3 種類があります:

1. 無効な構文 (無効な構文)

句読点マーク 省略、中国語と英語の記号の混用、スペルミス、変数名や関数名に使用されているキーワード。

2. 識別子に無効な文字が含まれています (識別子に無効な文字があります)

コード内に認識できない文字が含まれています。冗長な文字や中国語の文字がないか確認してください。

3. 不完全な文字列が検出されました (文字列リテラのスキャン中に EOL)

多くの場合、これは文字列の両側にある引用符の不一致が原因です。さらに、パブリック アカウント Linux を検索して、バックグラウンドで「git Books」と返信する方法を学び、サプライズ ギフト パッケージを入手してください。

エラー例

print( 'hello', 'world')

エラー理由: カンマは中国語のカンマです

エラー メッセージ: SyntaxError: 無効な文字識別子

result = (1024+(512*2)/128

エラー理由: 括弧

エラー メッセージが表示されます: 構文エラー: 解析中に予期しない EOF

if name =="A"
print("hello")

エラーの原因: if/elif/else などのステートメントの最後にコロン

# を追加するのを忘れました/while/for/def/class など ##エラー メッセージ: SyntaxError:invalid syntax

4. 変数名エラー (NameErro)

変数名エラーは最も一般的で、よく発生するエラーです。組み込みエラーのタイプ。Python の変数命名でよく発生します。変数が見つからない場合、NameError が発生します。変数名の規則に関しては、次のことに留意する必要があります:

    変数名には文字、数字、アンダースコアのみを含めることができ、数字で始めることはできません。名前にスペースを含めることはできませんが、単語を区切るためにアンダースコアを使用できます。
  • Python キーワードや関数名を print などの変数名として使用しないでください。
  • 変数名は短く、わかりやすいものにする必要があります。
  • 小文字の l と大文字の O は、数字の 1 および 0 と間違われやすいため、注意して使用してください。
  • 変数名エラーが発生した場合、変数に値が代入されているか、大文字と小文字が矛盾していないか、変数名の記述が間違っていないかなどを確認し、見つかったら修正することができます。
エラー例

message = "Hello!"
print(mesage)

エラーの原因: 変数名のスペルが間違っています。マッサージのスペルが間違っています masge

エラー メッセージ: NameError: 名前 'mesage' が定義されていません

5. IndexError (IndexError)

インデックスは、配列またはリスト内の項目の位置です。リストの要素にアクセスしようとしたり、インデックスからタプルにアクセスしようとしたりするとき、リストに存在しない場合、この例外が発生します。

たとえば、0 ~ 9 のインデックスを持つ 10 個の要素のリストがある場合、インデックス 10 または 11 以上の要素にアクセスしようとすると、IndexError が発生します。

エラー例

a = [1,2,3]
print(a[3])

エラーの原因: リストaに4番目のインデックスが存在せず、リストのインデックスは0から始まります

エラーメッセージ: IndexError: stringインデックスが範囲外です

6. KeyError (KeyError)

ディクショナリ内のキーと値を読み取るときに、キーが存在しない場合、KeyError エラーがトリガーされます。

エラー例

d = {'a':1,'b':2}
print(d['f'])

エラーの原因: キー 'f' が存在しません

エラー メッセージ: KeyError: 'f'

7. TypeError ( TypeError )

このエラーは、プログラムで不正なオブジェクト タイプまたはサポートされていないオブジェクト タイプが使用されている場合に発生します。このエラーは、呼び出し不可能なオブジェクトを呼び出したり、反復不可能な識別子を反復しようとした場合にも発生します。

エラー例

age=18
print("我的年龄是"+age)

エラーの原因: スプライシングに " " を使用する場合は、文字列を使用するか、str() 関数を使用して数値を文字列に変換する必要があります

エラー メッセージ: TypeError: can only concatenate str(not "int")to str

8. 属性エラー (AttributeError)

属性エラーは、属性の参照と割り当てが失敗した場合に発生します。

このタイプのエラーの原因は、不明なオブジェクト プロパティにアクセスしようとしたことです。つまり、対応するオブジェクトのプロパティが見つかりません。クラス内のコンストラクター __init__() が正しく記述されているかどうかは、左右の 2 本の下線で確認できます。

以上がPython のよくあるエラーと解決策、収集することをお勧めします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。