Skyのブログ

理工系学生が色々と書きます!

【Python初心者必読】初心者から始める効率的な学習ロードマップ

この記事では、初心者から始めるPythonの効率的な学習ロードマップを紹介したいと思います。
Pythonを始めてみたいと思っている人・始めたけど何からます始めれば良いのかわからない人・将来仕事に繋げたいと思っている人を対象に書いています。

今この記事を読んでいる方は、Pythonを始めたけど上手くいかない・始めたいけど何から始めるか不安という悩みを持っている方もいると思います。
独学でPythonを学習している方は特に、不安になるという事も多いかと思います。実際に僕も独学をして挫折したという事は何度かあります。たとえ挫折したとしても誰もが何度かは通る道なのであまり気にする必要はないでしょう。今回は、実際にPython独学経験者が「初心者から始める効率的な学習ロードマップ」を紹介したいと思います。

Python特徴(前提知識)

まだPythonnに全く触れたことがない場合はまずPythonとは何かについて知る事から始めましょう。
Pythonの特徴として以下の事があります。

■特徴
・コードがシンプルで簡潔
・ライブラリーやフレームワークが豊富
ライブラリーが豊富なため開発がしやすいことやコードがシンプルなので初心者にも扱いやすいという事が近年Pythonが人気を集めている理由として上がります。
実際にPythonInstagramYoutubeなどのWeb開発からBlenderなどグラフィック開発まで使われています。



前提知識などが理解できたら早速スッテプ1に進んでいきましょう。


Step0:パソコンの用意!(前提条件)

まず最初のステップとしてパソコンがあることが前提となります。
プログラミングと言われると性能が高いパソコンが必要というイメージがあるかもしれませんがそんなことはありません。基本的には今使用しているパソコンで十分と考えましょう!快適に使うにはCPU:Core-i3、RAMは8GB、程度のスペックをおすすめします。もしこのスペックを下回っていたとしても動作しないということはありませので安心してください。
おすすめの推奨パソコンなどについてはまた別で記事を上げる予定なので是非ご覧ください!
WIndows OS 、MacOSどちらでも問題ありません。多少操作が異なる点はありますが問題ありません。

Step1:目標を決めよう!



プログラミング学習していく中で目標を決めることつまり、自分のやりたい事できるようになりたい事を明確にするということが一番大切だと思っています。この事はほかの記事でも書かせていただいていますがとにかく重要です。
なぜ目標を決める必要があるのか?それは自分の目標に向かって勉強することが一番の近道になるからです。もう少し詳しく説明すると人は目標がないと行動しずらいからです。プログラミングは情報量がとても多いのである程度の目標を決めておかないと自分がやりたい事と路線がずれてしまう可能性があります。
簡単な例で言うと「機械学習」について学びたい「Webサイト作成」みたいなど簡単なもので大丈夫なので決めておきましょう。
特に独学の方にありがちなのが目標を決めずにとりあえず学習をするという事です。目標がなしでも最初の方は良いかもしれませんが学習を進めていくにつれ学習の方向性がわからなくなってしまい、モチベーションダウンに繋がる恐れがあります。最初に目標を決めることによって、自分が何のために学習しているのか明確になり学習が進めやすいと思います。

Step2:学習書籍などの購入(任意)

学習を進めていく上で自分に合う本を選ぶ事は後のやる気にも繋がるのでここのスッテプは自分にあったものを選ぶようにしましょう!


Step3に行く前に!
まだPythonファイルを編集するためのテキストエディタVisual Studio Codeなど)をインストールしていない場合は次のスッテプに進む前にインストールすることをお勧めします。

Step3:コードを実際に書く(基礎演習)


いよいよコードを書きます!Pythonの基礎を学んでいきます。他のプログラミング言語を使ったことがある人なら一ヶ月程度、初心者からだと半年程度と考えると良いでしょう。
自分が買った本などを読み進めていきましょう。このステップで大切なことは「自分の手で実際にコードを打つ」という事です。書籍で学習している場合サンプルコードなども載っていると思いますので自分で打ち込んでコード一つ一つの役割やコードとコードの関係を実際に自分の手で実行して確認するようにしましょう。

少し慣れてきたと思ったら実際にプログラマーが書いたコードなどを見てみるといいでしょう。
もし学習が上手くいかなくなってしまった場合自分で調べるようにしましょう。よく言われる言葉が「Google先生と仲良くなろう」です。プログラミングをやる上で自分の知識だけでは解決できないような物に直面することがあります。自分で検索して解決できるような能力も育てましょう。

Step4:目標を実現する!(実践)

Pythonの基礎を学習したら次は実践していきます。例えば最初にあなたがWebサイトを作るという目標を決めたならDjango、Flaskといったフレームワークの勉強が必要となります。この先は個々の目標によって異なります。

まとめ


効率的に勉強するにはまずは目標を決めることです!自分の学習の方向性を見失わないように注意しましょう!

あなたのプログラミングに少しでも参考になれば嬉しいです!また他の記事も用意する予定ですので是非ご覧ください。

【Python】誰でもできるライブラリのインストール方法!

f:id:marubatan:20220127215309p:plain
今回はPythonでライブラリをインストールする方法を紹介します。


Pythonの基本的な3つの学習方法
sky-blog.hateblo.jp

ライブラリとは?

ライブラリーとはある特定の機能をまとめたパッケージの総称のことをいいます。ライブラリにはある特定の機能に関するプログラムが書かれ、それを利用することで一からプログラムを書く必要がなくなります。Pythonは、他の言語に比べてライブラリーが充実しているので非常に便利な言語です。

ライブラリの種類

ライブラリーには2種類あり、Pythonをインストールした時から備わっている「標準ライブラリー」と外部ライブラリーです。
外部ライブライリーを使用する場合、Pythonのインストールとは別に自分でインストールする必要があります。
標準ライブラリーではないもののよく頻繁に使われているものも存在します。

■チェック!
プログラムにImportError/ModuleNotFoundErrorが出て悩んでいる場合ライブラリーがインストールされていない可能性が高いです。今からやる方法でインストールしましょう!



モジュールのインストール方法

例として今回は、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エラー一覧】

■記事内容
今回は、Pythonの初心者によくありがちなエラーを10個ほどまとめてみました。

エラーがなかなか解決できないという事はよくあることです。

エラーの原因や注意すべきポイントなども詳しくまとめているので是非ご覧ください。

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)


■注意点
他のプログラミング言語では簡易的なものではれば自動で型変換を行ってくれる物もありますがPythonは行わないので別の型の扱いには注意しましょう!

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


■注意点
インデックスは「0」から始まります。1から始めてしまうと1つずつずれてしまうので注意しましょう。
今回の場合は"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学習方法!

f:id:marubatan:20220125223514p:plain

Python学習

プログラミングを始めてみたけど実際何を勉強したら良いかわからない

エラーで挫折してしまったということはプログラミングではよくあることです。

実際、僕もプログラミングを何年か続けていますが、始めたての頃、何度か挫折したことがあります。

この記事では、プログラミング初心者に僕がおすすめするPythonの学習方法や実際に使っていたサービスや本を紹介します!

中級者向けのものも紹介しているので是非最後まで見てください。

 

Pythonとは

そもそもPythonとはどんなものなのでしょうか?

 

Pythonは今最も注目されているプログラミング言語ですコードがシンプルで他の言語

に比べて文が短い特徴があります。

PythonはWebサイト作成からAIまで幅広く使われているので汎用性が高いといえるでしょう。

 

プログラミングを学習する方法は、人それぞれありますが今回は、僕がおすすめする基本的な3つの学習方法をまとめてみました。

 

 

1 Webサイトで学習する方法

f:id:marubatan:20220125224212p:plain

まず最初に、Webサイトを使って学習をする方法です。この方法は、コストを低く抑えることができることができます。

とりあえず早くプログラミングに触れてみたいという方におすすめです。

ただどのサイトも基礎な知識はある前提で書かれているのでプログラミングを一切触れたことがない人には少し難しいと感じると思います。

 

ですが、プログラミングをやる上で、自分で調べて自分で解決するという事が大切です

その力をつける練習という意味ではチャレンジすることも必要でしょう。

 

Pythonを学習できるサイトをいくつか紹介します。

 

このサイトは、Pythonの入門から応用まで幅広く取り扱ってくれているので今後継続的に力をつけて行きたい人はおすすめ

全て無料で読むことができるのでこのサイトで勉強するのも良いでしょう。

 

  • Python tutorial 【中級者向け】

docs.python.org

このサイトは、Pythonの公式チュートリアルで、Pythonの仕様や概念など基本的なことから細かいことまで書かれています。このサイトも無料で読むことができますが、ある程度プログラミングの知識がある前提で説明が書かれているので、初心者には、難しい用語などが出てくるので中級者~上級者あたりのレベルの人におすすめです。

 

 

他にもいろいろなサイトがあるのでGoogleで「Python 入門」などと調べてみるといいでしょう。

 

 

2 本を使って学習する方法

f:id:marubatan:20220125223932p:plain

次は、本を使って学習をする方法です。

ちなみにですが、実際に、僕は本を読んでプログラミングを習得しました。

最初は、Web学習でいいかなとか思っていたんですが初心者の頃の僕はWebでの学習だと情報量が多すぎて理解が追い付かなかったので本を買って勉強をしました。

 

本で学習するメリットとしていろいろなレベルの本がので自分にあったレベルに

合わせやすく自分は、この方法を選びました。

 

◆おすすめ記事◆
【おすすめの本まとめの記事はこちらから】

sky-blog.hateblo.jp

 

おすすめの本

 

www.amazon.co.jp

 

www.amazon.co.jp

このシリーズは、書籍の中でもわかりやすさに定評があるものでこの1冊を読めばPythonの基礎は網羅できます。

 

 

3 プログラミングスクールを利用する方法

f:id:marubatan:20220125224054p:plain

プログラミングスクールに通うことも視野に入れるのも良いでしょう

特に自分で独学して習得できる自信がない人や、一人でやっていくのはきついと思う人にはおすすめです。

 

 

まとめ

3つの方法を紹介しましたが個人的には、書籍での学習をおすすめします。

理由としては本での学習はは自分に合わせた本を選ぶことができ、コストを低く抑えることができるからです。

その分挫折してしまうというリスクはありますが、本の選び方で挫折するかどうかは決まります。要するに挫折さえしなければ書籍での学習が一番コスト面で良いということになります。

 

 

 

 

 

 

 

 

 

 

 

おすすめのPython学習本ランキング10選【初心者~上級者まで】

今回は、おすすめのPython学習本を10冊紹介します。

 

 

f:id:marubatan:20220125212012p:plain

本の選び方のポイント

学習書籍を選ぶ上で一番大切なことは自分に合ったレベルの本を選ぶことです。

初心者の方は、挫折しないこと(モチベーションを落とさないこと)が一番大切になります。最初は、やさしい本で何度も練習をして基礎を覚えましょう。

 

これは全てに言えることですが、自分のレベルに合わない本は買わないようにしましょう、自分に合わないレベルの本を買ってしまうと返ってモチベーションの低下や挫折の原因になりかねません。自分に合ったレベルの本を買ってわからない部分をコツコツと潰していきましょう。

 

 

 

初心者向けおすすめの本

Python一年生

www.amazon.co.jp

読みやすさ:★★★★★

  難易度:★☆☆☆☆

ポイント! イラストなどが多く使われているので分かりやすさを追求した本で、キャラクターが対話形式で教えてくれます。専門用語などのもあまり書かれていないので楽しく学習したいという方にはおすすめです。
Pythonの絵本 Pythonを楽しく学ぶ9つの扉

www.amazon.co.jp

読みやすさ:★★★★★

  難易度:★★☆☆☆

ポイント! 絵が多く使われ短い説明が多いので絵本のようにビジュアルに理解することができます。
またプログラムサンプルの紹介など実践的な内容も含まれています。
独習Python

f:id:marubatan:20220117002148p:plain

読みやすさ:★★★★☆

  難易度:★★★☆☆

ポイント! プログラミング学習書の中ではわかりやすさに定評のある方がかいる本です。
この本は、手を動かして書きながら覚えることをコンセプトにしていて実際に自分で実行してみることによってコードがどのように動くのか理解できます。

 

スッキリわかるPython入門

f:id:marubatan:20220117002011p:plain

わかりやすさ:★★★★☆

   難易度:★★☆☆☆

ポイント!  この本はPythonの基礎を丹念に解きほぐされた本で、スッキリシリーズはプログラミングの仕組みやコツがしっかり身につくという特徴があります。
エラー解決用のページもあるので初心者の方でも学べます。

中級者向けおすすめの本

入門Python 3

www.amazon.co.jp

わかりやすさ:★★★★☆

   難易度:★★★☆☆

ポイント! Pythonの入門書です。
Pythonの基礎からウェブ、データベース、ネットワーク、並行処理といった応用まで、Pythonプログラミングをわかりやすく丁寧に説明されています。
最初の1冊にもおすすめ!
独学プログラマー Python言語の基本から仕事のやり方まで

f:id:marubatan:20220125212613p:plain

www.amazon.co.jp

読みやすさ:★★★★☆

  難易度:★★★☆☆

ポイント! プログラマになるためのスキルを独学できる本です。Pythonの基礎だけでなくプログラマに必要なスキル(シェル、バージョン管理、アルゴリズム、データ構造、仕事の始め方・やり方)など幅広く学ぶことができます。

 

エキスパートPythonプログラミング改訂2版

www.amazon.co.jp

読みやすさ:★★☆☆☆

  難易度:★★★★☆

ポイント! Pythonの言語仕様はもちろんのこと本書を読むことで、Pythonプログラマが日常的に使用している開発ノウハウを学ぶことができます。
ただレベルが高いので趣味程度でPythonをやっている人には、厳しいかもしれません。

 

上級者向けおすすめの本

Pythonハッカーガイドブック

www.amazon.co.jp

読みやすさ:★★☆☆☆

  難易度:★★★★★

ポイント! マルチスレッドやメモ化などの高度なトピックを幅広くカバーし、APIの設計やデータベースの扱いなどについて、言語自体をより深く理解するためにPythonの内部を学びます。

 

Fluent Python ―Pythonicな思考とコーディング手法

www.amazon.co.jp

読みやすさ:★★☆☆☆

  難易度:★★★★★

ポイント! 基本的な文法は抑えていることを前提とした本で、言語仕様やPythonicな思考とコーディング手法を身につけ、コードをより短く、より読みやすくする方法を学べます。
とても分厚い本なので読むのは大変でしょう。
実践Python 3

www.amazon.co.jp

読みやすさ:★★☆☆☆

  難易度:★★★★★

ポイント! 仕事や研究で役立つ実践的な側面を重視し、一般的なプログラミングのベストをPythonに適用する方法について解説されています。主なテーマとしてコーディング手法、並行処理、高レベルなネットワーク処理、グラフィク処理、など実践的な内容が多く含まれています。
◆まとめ◆ 10冊のレベル別の本を紹介しました。
初心者の方は自分に合った挫折しなそうな本を選ぶことを最優先にしましょう!
中級者~上級者の方は自分の力を伸ばせるようにPythonの構造や思考を詳しく学んでみるとより理解が深まると思います。

 

Pythonの学習方法はこちらから

sky-blog.hateblo.jp