spam = {'cat': 'Zophie', 'dog ': 'バジル', 'マウス': 'ひげ'}
print('私のペットのシマウマの名前は ' + spam['zebra'])
12) Python キーワードを変数名として使用しようとしました (「SyntaxError: 無効な構文」が発生します)
Python キーワードは変数名として使用できません。
コードをコピー コードは次のとおりです:class = 'algebra'
Python3 のキーワードは次のとおりです: and, as 、アサート、ブレーク、クラス、続行、def、del、elif、else、excel、False、finally、for、from、global、if、import、in、is、lambda、None、nonlocal、not、or、pass、raise 、return、True、try、while、with、yield
13) 新しい変数定義でインクリメント演算子を使用します (結果として、「NameError: name 'foobar' が定義されていません」が発生します)
変数を宣言しないでください。初期値として 0 または空の文字列を使用する場合、インクリメント演算子を使用した文 spam += 1 は spam = spam + 1 と等しくなります。これは、spam が有効な初期値を指定する必要があることを意味します。
次のコードでエラーが発生します:
コードをコピー コードは次のとおりです: スパム= 0
spam += 42
eggs += 42
14) ローカル変数を定義する前に、関数内でローカル変数を使用します (この時点では、ローカル変数) (結果は「UnboundLocalError: 割り当て前にローカル変数 'foobar' が参照されました」)
関数内でローカル変数を使用し、同時に同じ名前のグローバル変数が存在する場合、非常に複雑になります。使用規則は次のとおりです。関数内で何かが定義されている場合、関数内でのみ使用されている場合はローカル変数、それ以外の場合はグローバル変数です。
これは、定義する前に関数内でグローバル変数として使用できないことを意味します。
次のコードでエラーが発生します:
コードをコピー コードは次のとおりです: someVar = 42
def myFunction():
print(someVar)
someVar = 100
myFunction()
15) range() を使用して整数のリストを作成しようとしています (その結果、「TypeError: 'range' オブジェクトは項目の割り当てをサポートしていません」)
整数の順序付きリストを取得したい場合があるため、 range() はこのリストを生成する良い方法のように思えます。ただし、 range() は実際のリスト値ではなく、「範囲オブジェクト」を返すことに注意する必要があります。
次のコードでエラーが発生します:
コードをコピー コードは次のとおりです: spam = range( 10)
spam[4] = -1
おそらくこれがあなたがやりたいことです:
コードをコピーコードは次のとおりです: spam = list(range(10))
spam[4] = -1
(注: Python 2 ではスパム) = range(10) は機能します。Python 2 では range() はリスト値を返しますが、Python 3 では上記のエラーが発生します)
16) ++ または -- のインクリメントとデクリメントを使用すると良いでしょう。オペレーター。 (「SyntaxError: 無効な構文」が発生します)
C++、Java、PHP などの他の言語に慣れている場合は、変数をインクリメントおよびデクリメントするために ++ または -- を使用してみるとよいでしょう。 。 Python にはそのような演算子はありません。
次のコードでエラーが発生します:
コードをコピー コードは次のとおりです: spam = 1
spam++
おそらくこれがやりたいことです:
コードをコピーします コードは次のとおりです: spam = 1
spam += 1
17) メソッドの最初のパラメーターに self パラメーターを追加するのを忘れました (結果として、「TypeError: myMethod() は引数を取りません)」 (1 つ指定)")
次のコードでエラーが発生します:
コードをコピー コードは次のとおりです: class Foo():
def myMethod( ):
print('Hello!')
a = Foo()
a.myMethod()