Python 言語プログラミング を学習して最初の数週間で、初心者は多数の構文エラーやその他のエラーに遭遇するでしょう。しかし、困難を克服し続け、一定期間にわたってプログラミングを練習する限り、これらのエラーは大幅に減少します。初心者向けに、いくつかの一般的なエラーとその解決策を以下に示します。
1. SyntaxError 構文エラー
(1) 文字列を表すために使用される引用符がペアになっていません。 エラー メッセージ: SyntaxError: stringliteral のスキャン中に EOL エラーの例: print('hello) 解決策: 文字列を二重引用符で囲みます。文字列に一重引用符または二重引用符が含まれている場合、引用符が一致しない可能性があります。 (2) 括弧はペアで表示されません。 エラー メッセージ:SyntaxError: 解析中に予期しない EOF が発生しましたエラー例 1:a= (1 (2 / 3) * 4エラー例 2: print('hello'解決策: 括弧をペアで表示します。複雑な式を作成するとき、または関数を呼び出すとき、このエラーはよく発生します。 (3) print() 関数を呼び出すときに Python 2 の構文が使用されます。 エラー メッセージ: SyntaxError: Missing 'print' の呼び出しに括弧が入っています。エラー例: print 'hello'解決策: Python 3 構文を使用します。この形式は print( ) 関数、つまり print('hello') 初心者が Python 2 から Python 3 に切り替えるとき、習慣的にこの間違いを犯すことがよくあります。 (4) セルフオペレーションを使用したエラー演算子または – など。 エラー メッセージ: SyntaxError: 無効な構文エラーの例: a = 1a 解決策: Python 言語には、C 言語の or – のような自己操作演算子はありません。同様の関数の使用法は = または -= 演算子です。たとえば、 、次のコードを使用して変数 a を 1 ずつインクリメントします。 a = 1 (5) 等号 (=) を使用して、この 2 つが一致するかどうかを判断してください。オペランドは等しい。エラー メッセージ:SyntaxError: 無効な構文エラー例:if a = 1: Print ('hello') 解決策: Python 言語で 2 つの等号 (==) を関係演算子として使用し、2 つのオペランドが等しいかどうかを判断します。等号 (=) は代入演算子 (6) 変数名としての Python 言語キーワードの誤用 エラー メッセージ: SyntaxError: キーワードに代入できませんエラー例:True = 1解決策:Python 言語のキーワードを変数名、関数名、クラス名などとして使用しないでください。Python シェル ウィンドウで, help('keywords') コマンドを使用して、Python 言語のキーワード リストを表示します。 (7) if/elif/else/while/for/def/class などの文の最後にコロン (:) を追加するのを忘れました。 エラー メッセージ: SyntaxError: 無効な構文エラー例 1: a = 2if a > 0 print(' ')エラー例 2: def Sayhello() print('hello')解決策 : if/elif/else/while/for/def/class およびその他のステートメントの最後にコロン (:) を追加するだけです。文法ルールを心に留めておけば、それが習慣になります。
2. IndentationError インデント エラー
エラー メッセージ: IndentationError: unindent is not match any external indentation levelIndentationError:インデントされたブロックが予期されましたエラー例:a = 2if a > 0: print(' ') print(a)else: print('-') 注: エラーの原因は、上記の if ステートメント本体のコードのインデントです。コードが整列していません。 解決策: インデントを正しく使用してコードをフォーマットします。このエラーは、コードを他の場所からコピーして貼り付けた場合によく発生します。3. NameError 名前エラー
変数名、関数名、クラス名の記述が間違っている、または関数が前に記述されている場合が定義されている場合、関数などの場合、名前エラーとなります。 エラー メッセージ: NameError: 名前 'pirnt' が定義されていませんNameError: 名前 'sayhello' が定義されていませんエラー例 1: pirnt('hello')注: エラーの原因は、印刷時のタイプミスです。 エラー例 2: sayhello() def Sayhello(): pass注: エラーの原因が関数内にある 関数を定義する前に関数を呼び出します。 解決策: 変数名、関数名、またはクラス名を正しく記述し、変数を使用する前に値を代入し、関数呼び出しの前に関数定義を置くなどしてください。それは、特定の名前 (識別子) が使用される前に存在することを確認することです。4. TypeError 型エラー
(1) 整数と文字列は結合できません。 エラー メッセージ: TypeError: 'int' オブジェクトを暗黙的に str に変換できませんTypeError: 'float' および 'str' のオペランド タイプはサポートされていませんエラー例 1:print('score:' 100)
エラー例 2:
print(9.8 '秒')
解決策:
前整数、浮動小数点数、またはブール値を文字列と連結するには、str() 関数を使用して文字列型に変換します。
(2) 関数呼び出し時のパラメータの数が間違っているか、パラメータが渡されていません。
エラー メッセージ:
TypeError: 入力は最大 1 つの引数が必要ですが、2 つを受け取りました
TypeError:say() に必要な位置引数が 1 つありません: 'words'
エラー例 1:
input('Enter name', 'Age')
注: エラーの原因は、input() 関数に 2 番目のパラメーターを提供しようとしていることにあります。
エラー例 2:
def Say(words):
print(words)
say()
注: エラーその理由は、関数を呼び出すときにパラメーターが渡されないためです。
解決策:
関数の使用法を覚えて、関数のパラメーター定義を理解し、正しいメソッドを使用して関数を呼び出します。
5. KeyError キー エラー
このエラーは、存在しないキー名を使用して辞書内の要素にアクセスすると発生します。
エラー メッセージ:
KeyError: 'c'
エラーの例:
d= {'a':1, 'b':2}
print(d['c'])
解決策:
辞書内の要素にアクセスするときは、まず in キーワードを使用して、アクセスするキー名かどうかを確認します。が存在するか、辞書の get() メソッドを使用して辞書要素に安全にアクセスします。
6. IndexError インデックスエラー
アクセスリストのインデックスがリスト範囲を超えた場合、インデックスエラーが発生します。
エラー メッセージ:
IndexError: リスト インデックスが範囲外です
エラー例:
a = [1, 2, 3]
print(a[3])
注: エラーの理由は、4 番目のインデックスがリスト a に存在しないことです。リストのインデックスには 0 から始まる番号が付けられることに注意してください。
解決策:
len() 関数を使用してリストの長さを取得し、アクセスするインデックスがリストの範囲を超えているかどうかを判断します。
7. UnboundLocalError 未初期化ローカル変数エラー
関数内で、宣言されていないグローバル変数を変更すると、このエラーが発生します。
エラー メッセージ:
UnboundLocalError: 代入前にローカル変数 's' が参照されました
エラーの例:
s = 1
def test():
s = 1
print(s)
test()
注: エラーの理由は、コードが関数内で宣言されていません グローバル変数 s がインクリメントされました。 Python は変数 s をローカル変数として扱いますが、変数は初期化されません。
解決策:
関数内でグローバル変数を使用する場合は、global キーワードを使用して宣言するだけです。
まとめ
つまり、実際のプログラミングではエラーが発生することは避けられません。でも心配しないでください、彼らはただの張り子の虎です。初心者は、検索エンジンを使用して問題を見つけて解決し、発生したエラーを確認することに長けている必要があります。検索エンジンの検索ボックスにエラーメッセージの内容を入力すると、エラーの解決方法に関する多くの情報を見つけることができます。
以上がPython 初心者にありがちな 7 つの間違いとその解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。