Python でよくある間違い:
0. if、elif、else、for、while、class、def ステートメントにコロン
を書き忘れる":"
if spam == 42 print('Hello!')
を追加し忘れると、SyntaxError: 無効な構文
2 が発生します。間違ったインデントの使用
Python はコード ブロックを区別するためにインデントを使用します。よくある間違った使用法:
print('Hello!') print('Howdy!')
原因: IndentationError: 予期しないインデントです。同じコード ブロック内のコードの各行は、一貫したインデントを維持する必要があります。
if spam == 42: print('Hello!') print('Howdy!')
原因: IndentationError: unindent は、どの外側のインデント レベルにも一致しません。コード ブロックが終了すると、インデントは元の位置に戻ります
if spam == 42: print('Hello!')
結果: IndentationError: インデントされたブロックが期待されます。「:」の後にインデントが続く必要があります
3。変数は次のとおりです。定義されていません
if spam == 42: print('Hello!')
結果: NameError: name 'spam' が定義されていません
4. リスト要素のインデックス位置を取得するとき、len メソッドを呼び出すのを忘れてください
インデックス位置から要素を取得する場合、len 関数を使用して要素を取得することを忘れてください。 リストの長さ。
spam = ['cat', 'dog', 'mouse'] for i in range(spam): print(spam[i])
結果: TypeError: range() integer end argument Expected, got list.
正しいアプローチは次のとおりです:
spam = ['cat', 'dog', 'mouse'] for i in range(len(spam)): print(spam[i])
もちろん、より Python 的な方法は enumerate# を使用することです。 ##
spam = ['cat', 'dog', 'mouse'] for i, item in enumerate(spam): print(i, item)
spam = 'I have a pet cat.' spam[13] = 'r' print(spam)
spam = 'I have a pet cat.' spam = spam[:13] + 'r' + spam[14:] print(spam)
num_eggs = 12 print('I have ' + num_eggs + ' eggs.')
num_eggs = 12 print('I have ' + str(num_eggs) + ' eggs.')
num_eggs = 12 print('I have %s eggs.' % (num_eggs))
spam = ['cat', 'dog', 'mouse'] print(spam[3])
spam = {'cat': 'Zophie', 'dog': 'Basil', 'mouse': 'Whiskers'} print('The name of my pet zebra is ' + spam['zebra'])
spam = {'cat': 'Zophie', 'dog': 'Basil', 'mouse': 'Whiskers'} print('The name of my pet zebra is ' + spam.get('zebra'))
9. キーワードを変数名として使用すると、
class = 'algebra'
>>> import keyword >>> print(keyword.kwlist) ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
someVar = 42 def myFunction(): print(someVar) someVar = 100 myFunction()
spam = 0 spam++
#method1 は Foo クラスのメンバー メソッドです。このメソッドはパラメーターを受け入れません。a.method1() の呼び出しは Foo.method1(a) の呼び出しと同等ですが、 Method1 はパラメーターを受け入れないため、エラーが報告されます。正しい呼び出しメソッドは Foo.method1() である必要があります。
さらに関連する知識については、
Python ビデオ チュートリアル列
を参照してください。以上がPython でよくあるエラーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。