皆さん、こんにちは。私は Python 人工知能テクノロジーです。
コードを書くときに最も恐れていることと言えば、それは間違いなくそれです。バグ。プログラミングに触れたばかりの初心者は、コードを書くという達成感を味わっていると、さまざまなバグに戸惑うことが多いです。
今日は、コードを保存するための一般的な Python エラーに関する問題を共有します。
Python では、すべてのコードは正しいスペースで配置されます。したがって、余分なスペースがあってもスペースが欠けていても、コード全体は実行されず、エラー関数のみが返されます。
Python コードは PEP8 のホワイトスペース仕様に従い、インデントのレベルごとに 4 つのスペースを使用します。
エラー例
a=1 b=2 if a<b: print a
修正
a=1 b=2 if a<b: print a
このタイプのエラーはタブの使用が原因ですエンコーディングにより、タブ キーは基本的にタブ文字であり、インデント文字ではありません。テキスト エディタによってタブ文字で表されるスペースの幅が異なるため、スペースを使用することをお勧めします。
構文エラーの原因には以下の 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 syntax4. 変数名エラー (NameErro)変数名エラーは最も一般的で、よく発生するエラーです。組み込みエラーのタイプ。Python の変数命名でよく発生します。変数が見つからない場合、NameError が発生します。変数名の規則に関しては、次のことに留意する必要があります: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 str8. 属性エラー (AttributeError)属性エラーは、属性の参照と割り当てが失敗した場合に発生します。
このタイプのエラーの原因は、不明なオブジェクト プロパティにアクセスしようとしたことです。つまり、対応するオブジェクトのプロパティが見つかりません。クラス内のコンストラクター __init__() が正しく記述されているかどうかは、左右の 2 本の下線で確認できます。
以上がPython のよくあるエラーと解決策、収集することをお勧めします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。