こんにちは。arcadia13です。
何か一つ、自分にとって一番得意なプログラミング言語を作りたいと思ってPythonを選びました。
本シリーズは自分のアウトプット、基礎固めを目的として書いていきます。
今回は0番目として、そもそもPythonをどう勉強したかを公開します。
誤字・脱字だけでなく内容に間違いなどございましたら、お手数をおかけいたしますが、ぜひご指導ご鞭撻のほどよろしくお願いいたします。
読者対象
- 初めてプログラミングやプログラミング言語に触れる方
- これからPythonを深く勉強していきたい方
結論
Pythonの勉強の進め方は以下の通りだと考えています。
- 下準備: 勉強目的を明確にする
- 第一歩目: 環境構築する
- 第二歩目: 基礎文法を学習する
- 第三歩目: 目的に合わせたライブラリの使い方を勉強する
- オプション: オブジェクト指向の勉強をする、Pythonの資格試験を受けてみる
下準備: 勉強目的を明確にする
さて、いきなり禅問答に近いことをお伝えしなければなりません。
それは自分の勉強目的をハッキリさせましょう、ということ。
Pythonというプログラミング言語は色んなことができます。統計学、機械学習、webアプリ開発、デスクトップアプリ開発、ゲーム開発など、できないことはないと思うくらいに色んなことができます。それに加えて非常に書きやすいですから初心者向けのプログラミング言語として重宝されるわけです。
しかしその分、ネット上には情報であふれかえっています。何を参考にしたらよいか、どこから勉強したらよいのか迷うと思います。だからこそ迷路に迷わないようにする必要があるのです。
そのためには自分の勉強目的をハッキリさせることが効果的です。アプリを開発したい、機械学習を学びたい、データ分析をしたい。もっと漠然とでもいいのであなたの学ぶ目的を考えてみましょう。目的が見えると勉強するべき内容と優先順位が見えてきます。
ここが決まったら、次の第一歩目へと進んでください。
補足
初めてプログラミング言語に触れる方がいきなり決めるのは相当難しいと思います。その場合は無理にここで決める必要はありません。頭の片隅に入れておく程度でも大丈夫です。どんな目的を持つにせよ、次にお話する第一歩目はみんな同じです。
第一歩目: 環境構築する
Pythonに限らず、プログラミング言語を学習するまでには以下の準備が必要です。
- パソコンを用意する(OSは自由)
- パソコンにプログラミング言語をインストールする
重要なのは2番目。
パソコンは購入時点だとプログラミング言語を書くことができません(正確には理解できないので実行できません)。
そこでスマホのアプリインストールと同じようなことをしなければならないのですが、プログラミングにおいてはインストールや環境構築といいます。
ここ、実はプログラミング初心者にとってつまづきポイントの一つです。
最初にして最大の関門と言っていいかもしれません。
それくらいに第一歩目は大きいのです。
環境構築の手順は「Python 環境構築」とでも調べればたくさんヒットするはずです。
自分にとって分かりやすいもの(特に画像付きの記事は分かりやすいものが多い)を探してみてください。
試しに自分で検索していくつか見てみましたが、Windowsへの環境構築であれば以下のサイトがよさそうだなと思いました。
ちなみに、もし環境構築に自信がないという方は無料でそのプログラミング言語を書ける素晴らしいサイトがあるかもしれないので探してみてください。Pythonの場合はGoogle Colaboratory というサイトがあります。ぜひご利用ください。
第二歩目: 基礎文法を学習する
第一歩目でようやくPythonを書ける準備が整いました。
第二歩目からいよいよ実際に書く工程です。
ここから、プログラミング言語を書くことをこの世界ではコーディングといいますのでそう表現します。
Pythonに限った話ではありませんが、まずは基礎文法を体系的に身につけましょう。
基礎なくして応用はできません。
基礎文法知識が頭にあると本当にコーディングがスムーズに進みます。
また、何かを学習したい時、他人のプログラムを読む際にずっと自分を支えてくれます。
特にPythonを深く勉強していきたい方はPythonの基礎文法の理解にしっかり時間を割いてください。1
どれくらいかというと脳内で処理が思い描けるくらいまで。
サラッと書きましたが意外とハードルが高いです。
しかし、プロとは簡単なものから難しいものまでしっかり把握しているからこそプロなのです。
無駄な時間投資ではありませんからそこは信じてください。
基礎文法学習で、個人的にオススメしたい動画を二つご紹介します。
第三歩目: 目的に合わせたライブラリの使い方を勉強する
第二歩目で学習した基礎文法は、Pythonの環境構築をした時点で皆さんが使用できるものです。つまり、誰もが最初から共通して使うことのできる武器というわけです。
次に学習するのは、基礎文法にプラスしてもっと多くのこと実現するための武器・ライブラリを学習しましょう。ライブラリとは便利機能の集合体と考えていただければ大丈夫かと思います。Pythonで色々なことができるのは、実はライブラリの豊富さが理由の一つです。最終的には、Pythonを使いこなす=ライブラリを使いこなすという主張にもつながってきます。
さて、ライブラリには2種類存在します。
- 標準ライブラリ
- サードパーティ製ライブラリ
標準ライブラリ
環境構築した直後から使うことのできるライブラリです。基礎文法と同じく、誰もが最初から共通して使うことのできる武器です。
以下に標準ライブラリの例をいくつかご紹介しましょう。
- os
- sys
- datetime
- time
- decimal
- pickle
- math
- request
- csv
一覧はPython公式で確認できます。
サードパーティ製ライブラリ
標準ライブラリだけでも色々なことが実現できます。しかしそれだけは足りないケースも多々あります。統計学やアプリ開発を行いたい場合、標準ライブラリのみでは使える手段が不足していたり、非常に複雑なプログラムになるケースが少なくありません。
それを解消してくれるありがたい存在がいます。それがサードパーティ製ライブラリです。これは公式でない方や組織、つまり第三者が開発したライブラリのことです。
以下に有名なサードパーティ製ライブラリをご紹介しましょう。
- matplotlib
- numpy
- pandas
- requests
- flask
- Django
サードパーティ製ライブラリは、そのほとんどがPython Package Index(PyPI)というサイトで公開されています。これを必要に応じてインストールして使用するケースがほとんどです。
オプション1: オブジェクト指向の勉強をする
ここからはオプションとして、これからPythonを深く勉強していきたい方に向けた指針を示します。
一つ目がオブジェクト指向の勉強です。
実はPythonはオブジェクト指向のプログラミング言語です。したがって、この知識があると理解が非常にスムーズになります。これは私の経験談でもあります。またオブジェクト指向は基本的なプログラミング知識の一つでもありますので、ぜひ学習してみてください。
オプション2: Pythonの資格試験を受けてみる
Pythonを理解度を客観的に測る指標として資格試験を受けてみましょう。
資格があるのとないのとでは自信も違ってきますし、ポートフォリオに書いてアピールもできます。
まとめ
自分がこれまでPythonを学んだ手順を紹介しました。
終わりに
世の中には「基礎文法の勉強なんて時間の無駄」という方がいます。
私も昔はそれを信じていました。いち早く現場で使える知識を得たい。開発ができるようになりたい。その考えでサードパーティ製ライブラリの使い方をまず学習し、基礎文法は都度学習すればいいと考えていました。
しかしそれは大きな間違いでした。
プログラムを見ても、それがサードパーティ製ライブラリ独自の書き方なのか、Pythonの基礎文法なのか分からないのです。加えてPythonは情報がたくさんありすぎていて、コピペして例外が出たら次の例を探す、それでできなければ...と永遠に繰り返していました。
基礎文法を身につけてからはそういうところの整理がついて、そんなことが少しずつ減りました。やはり基礎文法は大切なのです。
今回は以上です。
よろしければほかの記事も見てくださると幸いです。
-
もっというと、IT業界に携わる方は一度でもいいので基礎文法学習に時間を割く経験を積みましょう。 ↩