見出し画像

Python入門!初心者が犯しがちな間違い 10選

入門したばかりのPythonistaが学習中にコードを実行するのは多かれ少なかれエラーが発生し、最初は大変そうに見えるかもしれません。コード量が蓄積されるにつれて、実行時のエラーが発生したときに迅速に位置を特定することができます。次に、よくある10のエラーを整理し、ご参考になれば幸いです。

一、不必要なセミコロン
Pythonは大抵のプログラミング言語と異なり、文末にはセミコロンを付ける必要がありません。他の言語で豊富な経験があるPython初心者は、慣れるのに時間がかかりますが、時折「セミコロン」を慣習的に付けることがあります。

a = 5  # 正しい
a = 5;  # 間違い

二、不要な括弧
Pythonでは、if/switch文の式部分には括弧を付ける必要はありません(括弧を付けてもプログラムは動作しますが、他の多くのプログラミング言語とは異なります)。

if a > b:    # 正しい
print(a)
if (a > b):  # 間違い
print(a, b)

三、代入演算子で等しいかを判断
2つの式/変数/定数/参照が等しいかを判断する場合、「==」という関係演算子を使用するべきであり、代入演算子「=」ではないことに注意してください。

if a == b:  # 正しい
    print("等しい!")
if (a = b): # 間違い
    print("等しい!")

四、文字列と他のデータ型の「+」演算
Pythonでは、文字列と他のデータ型のデータを「+」で結合することはサポートされていません。

print('There is' + str(num) + 'apples.')  # 正しい
print('There is' + num + 'apples.')       # 間違い

五、キーワードを変数名として使用
Python3には合計で33のキーワードがあります。

and, as, assert, break, class, continue, def, del, elif, else, except, finally, False, for, from, global, if, import, in, is, lambda, None, nonlocal, not, or, pass, raise, return, True, try, while, with, yield

変数名、関数名、クラス名にキーワードを使用するのは避けるべきです。

六、インデントの誤り
Python言語では、ステートメントのインデントは非常に重要であり、インデントがステートメントの階層を区別し、同じ階層のステートメントは同じインデント幅である必要があります。

for i in range(10):
    print("Good Morning!!")   # ループ内のステートメント
    print("Good Afternoon!!") # ループ内のステートメント
print("Good Night!!")        # ループ外のステートメント

七、文字列の要素を変更しようとする
Pythonでのstring型のデータは変更できません。

s = "hello world!"
s[0] = 'H'  # 間違い

八、2つのオブジェクトを1つとして扱う
同じクラスから作成された2つのオブジェクトは、それぞれ独自のメモリ領域を持ち、格納されているデータは互いに影響しません。

九、変数または関数名を誤ってコピー
初心者にとって、変数や関数名をコピーする際にコピーの誤りが発生することはよくあります。

十、リストのインデックスが範囲外

l = [0, 1, 2, 3, 4, 5]

lには6つの要素があり、l[0] – l[5]で正常にアクセスできますが、l[6]は存在しないため、アクセスするとエラーが発生します。

この記事が気に入ったらサポートをしてみませんか?