Python

【pyてょn】Python初心者の陥りがちなミス

Python初心者の陥りがちなミス

Python初心者の陥りがちなミス

というより「Python初心者だった自分がやったミス」の方が合ってるだろうか。
今回はやってしまいがちなミスを紹介。


インデントがズレてエラーになる

Pythonがjavaやphpと違う点としてスコープを中括弧{}で指定せずにインデントを使うというのがある。
他の言語であれば {} で閉じていれば中のインデントがどうなっていようとプログラムは動くが、Pythonの場合はインデントがスコープ指定の役割も担っているので、正しく記述しないとエラーになってしまう。

正しい例

for i in range(0,3):
    print("print i")
    print(i)



結果

print i
0
print i
1
print i
2



エラー例

for i in range(0,3):
    print("print i")
   print(i) # インデントが1字ずれている



結果

IndentationError: unindent does not match any outer indentation level


型の自動変換でエラーになる

javaは変数の型を明示的に指定して、別の型の変数に代入しようとするとエラーになるが、Pythonは型を明示的に指定しなくてもよい。
しかも大体の型変換はPythonが暗黙的に変換してくれるので便利。

しかし便利が故に、型変換できずにエラーになった場合や型を誤認識して no attribute エラーになったりすると解決に時間がかかったりする。
エラー時には type(変数) で変数の型を調べてみると良いかもしれない。

PythonからMySQLにinsertしようとしたら'numpy.float64' object has no attribute 'translate'になる


pip install で権限エラーになる

WindowsでPythonのインストール先を program files 等にしている場合、ライブラリをインストールする pip install を行うと 権限エラー が発生することがある。

原因は見たままで program files に書き込む権限が不足している。
コマンドプロンプトを起動して pip install を行っていると思うが、コマンドプロンプトを起動する際に右クリックから 管理者として実行 を選択することでエラーを回避できる。


コチラもオススメ

KRSW

駆け出し機械学習エンジニア。機械学習、DB、WEBと浅く広い感じ。 Junior machine learning engineer. Not a specialist but a generalist who knows DB, WEB too.

役に立ったらシェアしてくれると励みになります。

にほんブログ村 IT技術ブログへ

-Python
-,

Translate »

Copyright© ITips , 2020 All Rights Reserved.