17一般的な間違いの初心者、初心者Pythonはあなたを与えます!

彼はあなたは、Pythonを理解したいのエラーメッセージが少し複雑かもしれ意味のPythonを学ぶことがなかったとき。ここではいくつかの一般的なプログラムを使用すると、ランタイムエラーをクラッシュさせています。

1)、のために、他に、もしelifの最後に追加忘れている間に、クラス、DEFの文:(リード「にSyntaxError:無効な構文」)

このエラーは、同様のコードで発生する以下の通りであります:

if spam == 42
    print('Hello!')

2)の代わりに使用して== =(その結果の "にSyntaxError:無効な構文")

= ==代入演算子、それが比較動作と同じです。このエラーは、次のコードを発生します。

if spam = 42:
    print('Hello!')

3)不適切な使用インデント。(「IndentationError:予期しないインデント」、その結果、:「:期待インデントブロックIndentationError」および「IndentationErrorインデント解除は、任意の外側indetationレベルと一致しません」)

文の終了後に、その後、前のインデントに復元する必要がありますだけ増加させるために、インデントを覚えておいてください。このエラーは、次のコードを発生します。

print('Hello!')
    print('Howdy!')

或者:

if spam == 42: print('Hello!') print('Howdy!') 或者: if spam == 42: print('Hello!') 

4)ループ文のために(結果)(LENを呼び出すことを忘れては、「例外TypeError: 『リスト』オブジェクトを整数として解釈することはできません」)

通常、あなたはインデックスを通じて、リストまたは文字列の要素を反復処理したい、あなたは、この範囲()関数を呼び出す必要があります。代わりに、このリストに返すのLEN値を返すことを忘れないでください。

このエラーは、次のコードを発生します。

spam = ['cat', 'dog', 'mouse']
for i in range(spam): print(spam[i]) 

5)文字列の値を変更する試み(その結果、「TypeError例外: 『STR』オブジェクトがアイテムの割り当てをサポートしていません」)

データ列のタイプは、以下のようにエラーコードで発生し、不変です。

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)

6)非文字列値文字列に接続しようとする試み(その結果、「例外TypeError:暗黙的をstrにする「int型のオブジェクトを変換できません」)

このエラーは、次のコードを発生します。

numEggs = 12
print('I have ' + numEggs + ' eggs.')

そして、あなたは実際にこれをしたいです:

numEggs = 12
print('I have ' + str(numEggs) + ' eggs.')

または:

numEggs = 12
print('I have %s eggs.' % (numEggs))

):「文字列リテラルを走査しながらEOLにSyntaxError」をもたらす引用符で囲まれた文字列を(忘れる終了する7)端

このエラーは、次のコードを発生します。

print(Hello!')

或者:

print('Hello!)

或者:

myName = 'Al'
print('My name is ' + myName + . How are you?') 

8)変数または関数名は、その結果(スペルミス「NameError:名前 『fooba』が定義されていません」)

このエラーは、次のコードを発生します。

foobar = 'Al'
print('My name is ' + fooba)

或者:

spam = ruond(4.2)

或者:

spam = Round(4.2)

その結果スペルミス9)メソッド名(「はAttributeError: 『str』はオブジェクトが属性 『lowerr』を持っていません」)

このエラーは、次のコードを発生します。

spam = 'THIS IS IN LOWERCASE.'
spam = spam.lowerr()

「範囲外リストインデックスはIndexError」)10)がリストより、その結果最大インデックス(引用しました

このエラーは、次のコードを発生します。

spam = ['cat', 'dog', 'mouse']
print(spam[6])

辞書に存在しないキーを使用して11)は、(結果として「KeyError例外: 『スパム』」)

このエラーは、次のコードを発生します。

spam = {'cat': 'Zophie', 'dog': 'Basil', 'mouse': 'Whiskers'} print('The name of my pet zebra is ' + spam['zebra']) 

12)変数名(原因「にSyntaxError:無効な構文」とPythonのキーワードを使用してみてください)

Pythonの重要な変数名は以下のようにエラーがコードで発生し、使用することはできません。

class = 'algebra'

python3的关键字有:と、として、アサート、休憩、クラス、引き続き、デフ、デル、ELIF、他に、除き、虚偽、最終的には、のために、から、グローバル、もし、輸入、で、で、ラムダ、なし、非ローカルではなく、または、パス、昇給、リターン、真、試して、しばらく、と、収量

13)で得られた新たなオペレータ変数(定義の値を使用して「NameError:名称 『foobarに』が定義されていません」)

スパムのインクリメント演算子+ = 1の利用手段が有効な初期値を指定するスパム、スパム、スパム= + 1を、等しくなるように、初期値として空の文字列または0で使用する変数を宣言しないでください。

このエラーは、次のコードを発生します。

spam = 0
spam += 42
eggs += 42

14)(その結果(この場合は)グローバル変数と同じ名前を持つローカル変数が存在している関数のローカル変数に使用されるローカル変数の定義の前に「UnboundLocalError:割当前に参照されるローカル変数 『foobarに』」)

それに機能変更でローカルを使用して、グローバル変数は、ルールを使用して、非常に複雑であると同時に、同じ名前がある場合は、次のとおりです。あなたが関数内で何かを定義した場合、それが唯一それがローカルであることを関数で使用されている場合、逆はグローバルです変数。

あなたが関数内でグローバル変数としてそれを使用する前に、それを定義することができないことをこれが意味。

このエラーは、次のコードを発生します。

someVar = 42
def myFunction(): print(someVar) someVar = 100 myFunction() 

15)結果として整数のリスト(作成する)(レンジを使用しようと、「例外TypeError: 『を範囲』オブジェクトは、アイテムの割り当てをサポートしていません」)

時には、整数の順序付きリストを取得したいので、範囲は()は、このリストを生成するための良い方法であるように思われます。しかし、あなたは(範囲を覚えておく必要があります)ではなく、リストの実際の値よりも、「Rangeオブジェクト」を返します。

このエラーは、次のコードを発生します。

spam = range(10)
spam[4] = -1

おそらくこれは、あなたが何をしたいです。

spam = list(range(10))
spam[4] = -1

(注:Pythonの2の範囲内()値のリストを返すが、それは、Python 3以上のエラーを生成するためのPython 2スパムに=範囲(10)が行うことができるが、です)

16)はい++または - インクリメントとデクリメント。(「:無効な構文でSyntaxError」になります)

インクリメントデクリメント変数 - あなたはなど、C ++やJava、PHP、などの他の言語に使用されている場合は、+またはを使用してしようとする場合があります。Pythonではそのような演算子ではありません。

このエラーは、次のコードを発生します。

spam = 1
spam++

おそらくこれは、あなたが何をしたいです。

spam = 1
spam += 1

17)自己引数を追加する方法の最初のパラメータを忘れて(その結果、「例外TypeError:MyMethodは()の引数(1が与えられていない)かかり」)

このエラーは、次のコードを発生します。

class Foo():
    def myMethod(): print('Hello!') a = Foo() a.myMethod() 

パイソンを学習する過程で、多くの小さなパートナー、多くの場合、誰が生じ何の情報やガイダンスはありませんので、私はPDF書籍、ビデオチュートリアル、このスカートプラス年間プラス592 539の大規模な数を準備していたので、もう勉強したくありません176は、すべての人に無料です!あなたは、ゼロベースの基礎であるかどうかはまだそれらに対応する学習パッケージに取得することができます!含むPythonのソフトウェアツールと戦闘チュートリアル2019年に最新のエントリ

おすすめ

転載: www.cnblogs.com/chengxyuan/p/12653790.html