Python プログラミング

【入門】Pythonを学習するうえでやってはいけないこと【アンチパターン】

今回は、Pythonを学習するうえでやってはいけないこと(アンチパターン)を紹介します。

そもそもプログラミング自体が初めてという方も、CやJavaでプログラミングの基礎は習得済という方にも、両方意識してもらえたらと思います。

Pythonオンラインだけで学習をする

Pythonオンラインで学習をすることです。

Pythonオンラインとは、ブラウザ上でPythonを実行できる環境のことです。
paizaやprogateのことですね。

理由は、自分でPython環境をつくらないので、実際にPythonで何かを作るときの力が身につかないからです。

Pythonオンラインだけで学習していると、Pythonのコードは書けるようになるかもしれませんが、バージョン管理やパッケージ管理についての知識が疎かになってしまいます。
結果として、「Pythonが書けるようになったからサーバーを立ててみよう!」「Pythonで機械学習をやってみよう!」と思い立っても、「何から始めれば良いんだ...?」ということになってしまいます。

Pythonはコーディングに関するスキルを身につけることはもちろん重要なのですが、バージョン管理やパッケージ管理もそれと同じぐらい重要です。

また、Pythonオンラインでは、IDEなども用意しないため、自分にとってどのIDEが合うかもわからないままになってしまいます。
(色々な種類がありますが、やはり使ってみないとわからないものです)

誤解してほしくないのですが、これらのオンラインPythonの存在自体を否定しているわけではありません。
僕も転職の際のコーディングテスト対策でお世話になりました。

複数の教材で学習を進める

複数の教材で学習を進めることです。

Pythonの学習始めようと思って、「とりあえず書籍を3冊買って動画教材を2つ買っちゃった!心配だからメンターもつけちゃった!」なんてことはないですか?

色々購入してモチベーションを高めることはとても良いことです。
ですが、ことPythonの学習については落とし穴があります。

複数の教材で学習を進めてはいけない理由は、教材によって環境が異なるので、混乱しやすくなるからです。

前述の通り、Pythonはバージョン管理やパッケージ管理が非常に重要です。
これらの方法は、これといった正解がありません。
どの方法も正しく、間違いではないので、人それぞれ自由な方法を取ることができます。

しかし、それゆえに学習教材ごとに異なるので、初学者のうちは混乱してしまいます。

例えば、Pythonのバージョンでも2系と3系では、書き方が結構違います。
2系で書かれたコードは3系の環境では動きませんし、3系で書かれたコードは2系の環境では動きません。
2系と3系の教材を使って学習した場合は、やはり混乱してしまいます。

それらのバージョン管理も、pyenv、virtualenvなどがありますし、パッケージ管理はpip、ancondaなどあります。
それらをひっくるめてDockerという選択肢もあります。

独自のコーディング記法で進める

独自のコーディング記法で進めることです。

独自のコーディング記法とは、関数名や変数名といった命名規則やインデントやクォーテーションの取り扱いのことです。
Pythonに限った話ではないかもしれませんが、コーディング規約を守らずにプログラミングをしてしまってはないでしょうか?

独自のコーディング記法で進めてはいけない理由は、正しいコーディングが身につかないだけでなく、経験者にレビューがもらいにくくなり学習効率が悪いからです。

コーディング規約に守られていないコードをレビューするのは、レビューする側にとっても負担が大きいです。
レビューする人に失礼だ!とかそういう話ではなく、レビューに時間がかかってしまうので学習効率が悪くなってしまうということです。

Pythonのコーディング規約は、flake8、PEP8、Pylintなどにまとめられています。
これも、どれが正解というものではありませんが、どれかに遵守してコーディングをすることで、読む側の理解がとてもスムーズになります。

まとめ

というわけで、Pythonを学習するうえでやってはいけないことを紹介しました。
まとめると、以下の3点です。

・Pythonオンラインだけで学習をする
・複数の教材で学習を進める
・独自のコーディング記法で進める

それでは、より良いPythonライフを!

Python学習におすすめの教材

Pythonについて、しっかりと基礎から学びたい、実践的なスキルを身につけたいと考えている方向けに、おすすめの学習教材を紹介します。
これらの教材は、実際に僕がPythonの学習に使った教材になっています。

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です!

ベネッセが運営する動画学習サイトUdemyで視聴することができる動画教材です。
(セールの時には¥1,500程度で買えます!)

Pythonは自由度が高くて雑に書いても動きますが、その分コードスタイルがおろそかになりがちです。
正しいコードスタイルを身に着けておかなければ、Pythonプログラマとして活躍することはあり得ません。
この教材は、グローバルスタンダードなコードスタイルを正しく学びながら、アルゴリズムやサーバー構築など幅広くPythonの活用方法を学習することができます。

Pythonの学習で間違えたくない方や、趣味レベルのスキルから一歩抜け出したい方におすすめです。


エキスパートPythonプログラミング改訂2版 Pythonプログラミングのベストプラクティスを伝授

本書は、Pythonを使って仕事をしている開発者が普段どのようなツールやテクニックを用いて仕事をしているのか、また開発者が実際に現場で用いているベストプラクティスについて解説した書籍です。本書を読むことで、先進的なPythonプログラマが日常的に使用している開発ノウハウを学ぶことができます。

こちらの書籍は、様々なユースケースに対するベストプラクティスを学習することができる書籍です。
Python2系と3系の違いについてもよく取り上げられますので、実質どちらのバージョンにも対応しているといえます。

Pythonをうまく使いこなせていない気がする方、初心者の殻を破りたい方におすすめです。

-Python, プログラミング
-