【Python初心者必読】初心者から始める効率的な学習ロードマップ
この記事では、初心者から始めるPythonの効率的な学習ロードマップを紹介したいと思います。
Pythonを始めてみたいと思っている人・始めたけど何からます始めれば良いのかわからない人・将来仕事に繋げたいと思っている人を対象に書いています。
今この記事を読んでいる方は、Pythonを始めたけど上手くいかない・始めたいけど何から始めるか不安という悩みを持っている方もいると思います。
独学でPythonを学習している方は特に、不安になるという事も多いかと思います。実際に僕も独学をして挫折したという事は何度かあります。たとえ挫折したとしても誰もが何度かは通る道なのであまり気にする必要はないでしょう。今回は、実際にPython独学経験者が「初心者から始める効率的な学習ロードマップ」を紹介したいと思います。
- Python特徴(前提知識)
- Step0:パソコンの用意!(前提条件)
- Step1:目標を決めよう!
- Step2:学習書籍などの購入(任意)
- Step3:コードを実際に書く(基礎演習)
- Step4:目標を実現する!(実践)
- まとめ
Python特徴(前提知識)
まだPythonnに全く触れたことがない場合はまずPythonとは何かについて知る事から始めましょう。
Pythonの特徴として以下の事があります。
・ライブラリーやフレームワークが豊富
実際にPythonはInstagram、YoutubeなどのWeb開発からBlenderなどグラフィック開発まで使われています。
前提知識などが理解できたら早速スッテプ1に進んでいきましょう。
Step0:パソコンの用意!(前提条件)
まず最初のステップとしてパソコンがあることが前提となります。
プログラミングと言われると性能が高いパソコンが必要というイメージがあるかもしれませんがそんなことはありません。基本的には今使用しているパソコンで十分と考えましょう!快適に使うにはCPU:Core-i3、RAMは8GB、程度のスペックをおすすめします。もしこのスペックを下回っていたとしても動作しないということはありませので安心してください。
おすすめの推奨パソコンなどについてはまた別で記事を上げる予定なので是非ご覧ください!
※WIndows OS 、MacOSどちらでも問題ありません。多少操作が異なる点はありますが問題ありません。
Step1:目標を決めよう!
プログラミング学習していく中で目標を決めることつまり、自分のやりたい事できるようになりたい事を明確にするということが一番大切だと思っています。この事はほかの記事でも書かせていただいていますがとにかく重要です。
なぜ目標を決める必要があるのか?それは自分の目標に向かって勉強することが一番の近道になるからです。もう少し詳しく説明すると人は目標がないと行動しずらいからです。プログラミングは情報量がとても多いのである程度の目標を決めておかないと自分がやりたい事と路線がずれてしまう可能性があります。
簡単な例で言うと「機械学習」について学びたい「Webサイト作成」みたいなど簡単なもので大丈夫なので決めておきましょう。
特に独学の方にありがちなのが目標を決めずにとりあえず学習をするという事です。目標がなしでも最初の方は良いかもしれませんが学習を進めていくにつれ学習の方向性がわからなくなってしまい、モチベーションダウンに繋がる恐れがあります。最初に目標を決めることによって、自分が何のために学習しているのか明確になり学習が進めやすいと思います。
Step2:学習書籍などの購入(任意)
学習を進めていく上で自分に合う本を選ぶ事は後のやる気にも繋がるのでここのスッテプは自分にあったものを選ぶようにしましょう!
Step3:コードを実際に書く(基礎演習)
いよいよコードを書きます!Pythonの基礎を学んでいきます。他のプログラミング言語を使ったことがある人なら一ヶ月程度、初心者からだと半年程度と考えると良いでしょう。
自分が買った本などを読み進めていきましょう。このステップで大切なことは「自分の手で実際にコードを打つ」という事です。書籍で学習している場合サンプルコードなども載っていると思いますので自分で打ち込んでコード一つ一つの役割やコードとコードの関係を実際に自分の手で実行して確認するようにしましょう。
少し慣れてきたと思ったら実際にプログラマーが書いたコードなどを見てみるといいでしょう。
もし学習が上手くいかなくなってしまった場合自分で調べるようにしましょう。よく言われる言葉が「Google先生と仲良くなろう」です。プログラミングをやる上で自分の知識だけでは解決できないような物に直面することがあります。自分で検索して解決できるような能力も育てましょう。
Step4:目標を実現する!(実践)
Pythonの基礎を学習したら次は実践していきます。例えば最初にあなたがWebサイトを作るという目標を決めたならDjango、Flaskといったフレームワークの勉強が必要となります。この先は個々の目標によって異なります。
まとめ
効率的に勉強するにはまずは目標を決めることです!自分の学習の方向性を見失わないように注意しましょう!
あなたのプログラミングに少しでも参考になれば嬉しいです!また他の記事も用意する予定ですので是非ご覧ください。
【Python】誰でもできるライブラリのインストール方法!
今回はPythonでライブラリをインストールする方法を紹介します。
Pythonの基本的な3つの学習方法
sky-blog.hateblo.jp
ライブラリとは?
ライブラリーとはある特定の機能をまとめたパッケージの総称のことをいいます。ライブラリにはある特定の機能に関するプログラムが書かれ、それを利用することで一からプログラムを書く必要がなくなります。Pythonは、他の言語に比べてライブラリーが充実しているので非常に便利な言語です。
ライブラリの種類
ライブラリーには2種類あり、Pythonをインストールした時から備わっている「標準ライブラリー」と外部ライブラリーです。
外部ライブライリーを使用する場合、Pythonのインストールとは別に自分でインストールする必要があります。
標準ライブラリーではないもののよく頻繁に使われているものも存在します。
モジュールのインストール方法
例として今回は、pytubeというYoutubeの動画をダウンロードできるライブラリをインストールしてみます。
インストールにはpipというPythonのパッケージ管理ツールを使います。基本的にPythonのインストールと同時に付属していますが、標準で付属してない場合も考慮して進めていきます。
インストール確認とバージョン確認
まず最初にコマンドプロンプトを起動して以下のコマンドを実行してみてください。
python -m pip -V
pipのバージョンが表示されれば成功です。
pip xx.x.x from C:\Users\xxx\AppData\Local\Programs\Python\Python36\lib\site-packages\pip (python 3.6)
もしバージョンが表示されなかった場合pipがインストールされていません。コマンドで簡単にインストールすることができるのでインストールをしましょう。
python get-pip.py
インストール用のコマンド↑
インストール
以上のことができたら次は実際にライブラリーをインストールします。PackageName には自分がインストールしたいライブラリー名を入れて実行してください。
※今回自分は、pytubeをインストールするので PackageName は pytube になります。
python -m pip install PackageName
最終行に Successfully installed と書かれていればインストールは成功です。 お疲れさまでした!
C:\Users\XXX>python -m pip install pytube Collecting pytube Downloading pytube-11.0.2-py3-none-any.whl (56 kB) |████████████████████████████████| 56 kB 1.3 MB/s Installing collected packages: pytube Successfully installed pytube-11.0.2
pipのアップデート
pipを使用しているとアップデートしてくださいという警告がでる場合があります。その時は以下のコマンドでアップデートしてあげてください。
python -m pip install --upgrade pip
初学者によくあるエラーまとめ↓
sky-blog.hateblo.jp
これで大丈夫!Python初心者によくあるエラーまとめ!【Pythonエラー一覧】
エラーがなかなか解決できないという事はよくあることです。
エラーの原因や注意すべきポイントなども詳しくまとめているので是非ご覧ください。
Python3つの基本的な学習方法↓
sky-blog.hateblo.jp
なぜエラーが起きるのか?(構文エラーと例外の違い)
まず最初にPythoのエラーには、構文エラー(Syntax error)と例外(exception)の2種類あります。
構文エラー(Syntax error)は構文の誤りによって発生するエラーなのに対し、例外は構文は正しくても発生するエラーのことを言います。
基本的に構文エラーも例外もまとめてエラーと呼ばれることが多いですがこの2つの違いを抑えておきましょう。この記事では構文エラーと例外の両方をエラーとして表記しています。
エラーメッセージの確認方法
例としてエラーを起こしてみました。
プログラムにエラーが発生すると以下のようなメッセージが表示され、エラー内容、ファイル名、エラーの行番号などが表示されます。
#Sample.py print("Hello Python"
File "Sample.py", line 1 SyntaxError: unexpected EOF while parsing
今回の場合は、最終行を見るとSyntaxErrorと書かれていています。
初心者によくあるエラー
SyntaxError
このエラーは、構文に誤りがある場合に発生するエラーです。プログラミングエディタなどを使用するとコードを実行する前に教えてくれます。
例)全角と半角のミス、括弧()やコロン:が足りないなど
#Sample1.py #括弧が対応していない print("Hello Python" #SyntaxError: invalid syntax
#Sample1.py #訂正例 print("Hello Python") # Hello Python
#Sample2.py #全角と半角の違い(今回の場合はイコール) Strings = "Hello Python" #SyntaxError: invalid syntax
#Sample2.py Strings = "Hello Python"
IndentationError
インデントが正しく行われていない場合に起きるエラーです。
このエラーはまだ段階構造が理解できていない場合によくやりがちなものです。
例)インデントをしていない、インデントが合っていない
#Sample3.py for i in range(5): print(i) #IndentationError: unindent does not match any outer indentation level
#Sample3.py for i in range(5): print(i) # 0 1 2 3 4
TypeError
Type Errorは、データ型に誤りがある場合などに起きるエラーです。
例)文字列型(string型)と数値型(int型)を演算しようとしているなど
#Sample4.py str = "1" int = 1 print(str+int) #TypeError: unsupported operand type(s)
IndexError
InddexErrorは、リスト型やタプル型で値を取得しようとする際に、範囲外を指定している場合に起こるエラーです。
例)インデックスを1から始めている
#Sample5.py fruits = ["apple","banana","orange","cherry"] print(fruits[4]) #IndexError: list index out of range
#Sample5.py fruits = ["apple","banana","orange","cherry"] print(fruits[3]) # cherry
今回の場合は"apple"が0"banana"が1"orange"2"cherry"3が正しいインデックスになります。
KeyError
KeyErrorは、辞書型でキーが存在しない場合に起こるエラーです。
IndexErrorと似ているのでまとめて覚えておきましょう!
例)キーが存在しない
#Sample6.py fruits = {"apple":3,"banana":"2","orange":"2","cherry":1} print(fruits["lemon"]) #KeyError: 'lemon'
#Sample6.py fruits = {"apple":3,"banana":"2","orange":"2","cherry":1} print(fruits["cherry"]) # 1
存在しないキーに対してpop()関数やdelを使うと同様にKeyErrorになります。
AttributeError
AttributeErrorは、オブジェクトに存在しないメソッドを実行しようとしている場合に起こります。属性とはオブジェクトにある変数やメソッド(関数)のことを指します。
例)メッソド(関数)や属性が存在しない
#Sample7.py import random print(random.randam(0,10)) #AttributeError: module 'random' has no attribute 'randam'
#Sample7.py import random print(random.randint(0,10)) # 0 ~ 10の中から1つ選ばれる
このように randomオブジェクトには randamという属性は存在しません。なのでAttributeErrorが発生します。
NameError
NameErrorは、変数を取得しようとした際に定義されていない変数名を使用した場合に起きるエラーです。
例)スペルミス、モジュールのインポートをしていない
#Sample8.py a = "Hello Python" print(b) NameError: name 'b' is not defined
#Sample8.py a = "Hello Python" print(a) #Hello Python
#Sample9.py #<失敗例>モジュールをインポートしていない print(random.randint(0.10)) #NameError: name 'random' is not defined
#Sample9.py import random print(random.randint(0.10)) #1~10の乱数
ImportError(v3.6以前) / ModuleNotFoundError(v3.6以降)
ImportError/ ModuleNotFoundErrorはインポートしたモジュールが見つからない場合に発生します。
Pythonのインストールと同時に入っているモジュール以外は自分で導入が必要になります。
例)モジュールのインストールをしていない
ライブラリーのインストール方法はこちら↓
sky-blog.hateblo.jp
ZeroDivisionError
ZeroDivisionErrorは0で割り算をしようとすると発生するエラーです。
エラーが起きないよう例外処理をしっかりしましょう。
#Sample10.py print(2/0) #ZeroDivisionError: division by zero try: print(2/0) except: print("0で割ろうとしています!") # 0で割ろうとしています!
#Sample10.py try: print(2/0) except: print("0で割ろうとしています!") # 0で割ろうとしています!
UnboundLocalError
UnboundLocalErrorは、関数の中で関数の外の変数(グローバル変数)を扱う際に起こることがあるエラーです。
このエラーはスコープの概念を理解していないといけないのでまだ理解していない人は理解してからにしましょう。
#Sample11.py a = "Hello Java" def function(): print(a) a = "Hello Python" function() #UnboundLocalError: local variable 'a' referenced before assignment
このエラーの原因を解説します。まず変数aは定義されているのでなぜと思う型もいると思います。
通常、変数名を探索する際にローカールスコープから探索されローカルスコープにない場合外側のスコープから探索されます。
Pythonはローカルスコープ内に同じ名前の変数を見つけた場合ローカルスコープ内から値を取得しようとします。ですが変数が定義された後に実行されているのか定義前に実行されているかは考慮しないので
定義前にローカルスコープ内で使用するとエラーが起きます。
修正例
#Sample12.py a = "Hello Java" def function(): a = "Hello Python" print(a) function() # Hello Python
#Sample13.py a = "Hello Java" def function(): global a print(a) a = "Hello Python" function() # Hello Java
まとめ
今後プログラミングをやっていてエラーにあたることが多くあると思いますが基本的なエラーで時間を取られてしまうのは勿体無い事です。今回紹介した中では、特に、UnboundLocalErrorは初心者の方はちゃんと理解している人はあまり多くないと思います。まずは基礎を固めてエラーに対処できるようにしていきましょう!
Python学習ロードマップ↓
sky-blog.hateblo.jp
Pythonのおすすめの本まとめ↓
sky-blog.hateblo.jp.
Python3つの基本的な学習方法↓
sky-blog.hateblo.jp
誰でもできる基本的な3つのPython学習方法!
Python学習
プログラミングを始めてみたけど実際何を勉強したら良いかわからない
エラーで挫折してしまったということはプログラミングではよくあることです。
実際、僕もプログラミングを何年か続けていますが、始めたての頃、何度か挫折したことがあります。
この記事では、プログラミング初心者に僕がおすすめするPythonの学習方法や実際に使っていたサービスや本を紹介します!
中級者向けのものも紹介しているので是非最後まで見てください。
Pythonとは
そもそもPythonとはどんなものなのでしょうか?
Pythonは今最も注目されているプログラミング言語ですコードがシンプルで他の言語
に比べて文が短い特徴があります。
PythonはWebサイト作成からAIまで幅広く使われているので汎用性が高いといえるでしょう。
プログラミングを学習する方法は、人それぞれありますが今回は、僕がおすすめする基本的な3つの学習方法をまとめてみました。
1 Webサイトで学習する方法
まず最初に、Webサイトを使って学習をする方法です。この方法は、コストを低く抑えることができることができます。
とりあえず早くプログラミングに触れてみたいという方におすすめです。
ただどのサイトも基礎な知識はある前提で書かれているのでプログラミングを一切触れたことがない人には少し難しいと感じると思います。
ですが、プログラミングをやる上で、自分で調べて自分で解決するという事が大切です
その力をつける練習という意味ではチャレンジすることも必要でしょう。
Pythonを学習できるサイトをいくつか紹介します。
- Python-izm
このサイトは、Pythonの入門から応用まで幅広く取り扱ってくれているので今後継続的に力をつけて行きたい人はおすすめ
全て無料で読むことができるのでこのサイトで勉強するのも良いでしょう。
- Python tutorial 【中級者向け】
このサイトは、Pythonの公式チュートリアルで、Pythonの仕様や概念など基本的なことから細かいことまで書かれています。このサイトも無料で読むことができますが、ある程度プログラミングの知識がある前提で説明が書かれているので、初心者には、難しい用語などが出てくるので中級者~上級者あたりのレベルの人におすすめです。
他にもいろいろなサイトがあるのでGoogleで「Python 入門」などと調べてみるといいでしょう。
2 本を使って学習する方法
次は、本を使って学習をする方法です。
ちなみにですが、実際に、僕は本を読んでプログラミングを習得しました。
最初は、Web学習でいいかなとか思っていたんですが初心者の頃の僕はWebでの学習だと情報量が多すぎて理解が追い付かなかったので本を買って勉強をしました。
本で学習するメリットとしていろいろなレベルの本がので自分にあったレベルに
合わせやすく自分は、この方法を選びました。
おすすめの本
このシリーズは、書籍の中でもわかりやすさに定評があるものでこの1冊を読めばPythonの基礎は網羅できます。
3 プログラミングスクールを利用する方法
プログラミングスクールに通うことも視野に入れるのも良いでしょう
特に自分で独学して習得できる自信がない人や、一人でやっていくのはきついと思う人にはおすすめです。
まとめ
3つの方法を紹介しましたが個人的には、書籍での学習をおすすめします。
理由としては本での学習はは自分に合わせた本を選ぶことができ、コストを低く抑えることができるからです。
その分挫折してしまうというリスクはありますが、本の選び方で挫折するかどうかは決まります。要するに挫折さえしなければ書籍での学習が一番コスト面で良いということになります。
おすすめのPython学習本ランキング10選【初心者~上級者まで】
今回は、おすすめのPython学習本を10冊紹介します。
本の選び方のポイント
学習書籍を選ぶ上で一番大切なことは自分に合ったレベルの本を選ぶことです。
初心者の方は、挫折しないこと(モチベーションを落とさないこと)が一番大切になります。最初は、やさしい本で何度も練習をして基礎を覚えましょう。
これは全てに言えることですが、自分のレベルに合わない本は買わないようにしましょう、自分に合わないレベルの本を買ってしまうと返ってモチベーションの低下や挫折の原因になりかねません。自分に合ったレベルの本を買ってわからない部分をコツコツと潰していきましょう。
初心者向けおすすめの本
Python一年生
読みやすさ:★★★★★
難易度:★☆☆☆☆
Pythonの絵本 Pythonを楽しく学ぶ9つの扉
読みやすさ:★★★★★
難易度:★★☆☆☆
独習Python
読みやすさ:★★★★☆
難易度:★★★☆☆
スッキリわかるPython入門
わかりやすさ:★★★★☆
難易度:★★☆☆☆
中級者向けおすすめの本
入門Python 3
わかりやすさ:★★★★☆
難易度:★★★☆☆
独学プログラマー Python言語の基本から仕事のやり方まで
読みやすさ:★★★★☆
難易度:★★★☆☆
エキスパートPythonプログラミング改訂2版
読みやすさ:★★☆☆☆
難易度:★★★★☆
上級者向けおすすめの本
Pythonハッカーガイドブック
読みやすさ:★★☆☆☆
難易度:★★★★★
Fluent Python ―Pythonicな思考とコーディング手法
読みやすさ:★★☆☆☆
難易度:★★★★★
実践Python 3
読みやすさ:★★☆☆☆
難易度:★★★★★
Pythonの学習方法はこちらから