乙Py先生のプログラミング教室
初学者のためのプログラミング学習サイト

プログラミング

4.プログラミングの学習環境について

この講座ではPythonというプログラム言語を用いて
プログラミングを学習しますが、その実行環境としては
Jupyter Notebookというツールを用います。

このツールはプログラミングのコードを打ち込んで実行したり
その結果を保存して資料を作成したり
他の人のコードを参考にしたりするのにも役立ち
他の方々に共有をしたりすることができ、
学習の効率を非常に高めることができるものです。

他にもPythonの実行環境は存在します。
有名なツールだと
・Eclipse
・Visual Studio
・PyCharm
・Atomエディター
などがあります。

実際のプログラム開発現場では様々な流儀があり
そこで使用されるツールも様々ですが
Jupyter Notebookはプログラミング学習では
汎用的に世界中で用いられており非常に便利です。
他のエディターが好みだという方は、そちらの環境をお使いください。

インストールはPython言語とツールをまとめてインストールする事のできる
「Anaconda」というものを用いて行います。
WindowsでもMacでもやり方はとても簡単です。
この講座ではpythonはバージョン3系を用いて行いますので
講座に出てくるプログラムコードは全て3系のものになります。

インストール方法は下記に記載しておきますので
そちらを参考にしてインストールみてください。

JupyterNotebookおよび
Anacondaのインストール方法
anacondaのサイトへ行きインストーラーをダウンロードする
windows: https://www.anaconda.com/download/#windows
macos: https://www.anaconda.com/download/#macos
anaconda 3.xx 系の64-Bit Graphical Installer をダウンロードする。
ここの場合は左側の3.7系(Python 3.7 version)となる。 

download


インストーラーをダブルクリックなどで起動し、
説明に沿ってインストールを進める。

install-macos


上記はmacosでの画面ですがwindowsでもほぼほぼ同じです。
「続ける」をクリックして、先に進みます。

次に使用許諾契約が表示されたら一通り確認し、「続ける」をクリックします。
次にインストール先を再度確認する画面が表示されたら
インストール先などを選択して「インストール」をクリックします。

install-macos2


インストールが終了するとこのような画面になります。
閉じるをクリックしてインストール終了です。

install-macos3


JupyterNotebookはAnacondaに同封されているので、Anacondaのインストールが完了すると
JupyterNotebookも使えるようになります。

インストール後の確認
きちんとインストールされているかを確認するには以下を試します。

windows:
プログラムの中からAnaconda Promptを探して起動する。

win


macos:
アプリケーションの中からターミナルを探して起動する

macterm


起動後に以下のコマンドを実行してみる
python --version

コマンド入力後に エンターキー を押して実行
以下のような python のバージョン表示が出ればOK
$ python --version 
Python 3.xxx :: Anaconda xxx 

※ インストールしたバージョンにより、各意の表示は異なります。

JupyterNotebookの起動の仕方
windows:
プログラムの中からAnaconda Promptを探して起動する。

macos:
アプリケーションの中からターミナルを探して起動する
以下のコマンドを打ち込んでエンターキーを押す

jupyter notebook
以下のような画面がブラウザーで立ち上がればOK

jupyter


※ 表示されるフォルダなどは各自の構成により異なります。

jupyter notebook を起動した後は

http://localhost:8888/tree

でjupyter notebookの基本画面にアクセスできる。

3.プログラミング言語の学習方法について

どうすれば効率良く学習をすることができるでしょうか?

answer :
ひたすらプログラムコードを打ち込む

まずは書き写しから

習字などの場合は「写経」と言いますが
プログラミングの場合は他の人が作ったプログラムコードを
ただひたすら打ち込んで覚えます。

まずはこれで文法、プログラムの書き方を覚えましょう。
そうすると、この時はこう打ち込む、というのを指が覚えるようになります。


ある程度文法を覚えたら次はどうすれば良いのか?

answer:
ロジック、どうプログラムを動かすのかを学ぶ
何をどう書いたらいいんだっけ?という
プログラムを書く力、考える力を養います。

ロジックは、まずは自分の扱える母国語で考えます。
例えば簡単なプログラムの例として
ジャンケンの手を出力してくれるプログラムを作ることとします。
このときに必要な要素は何だろうか?
これを考えてまずは母国語で書き出します。

じゃんけんプログラムの例
1.ジャンケンの手を用意する。
2.ジャンケンの手を決める
3.ジャンケンの手を出力する。
あとはこれをプログラムに直す。

# じゃんけんプログラムの例

# 1.ジャンケンの手を用意する。
j = ['パー','ぐー','チョキ']
# 2.ジャンケンの手を決める
import random
my_hand = random.choice(j)
# 3.ジャンケンの手を出力する。
print('自分の手は : ' + my_hand)



このように日本語でまずは考えて、それをプログラムに置き換える。
ということを様々なケースで実践する。
そうすることで何を書けばいいか分からない、というところが
次第に解消されていくと思います。

プログラミングにおいて大事なこと

answer :
問題を解決する力を養う事

プログラム言語自体はそこまで難しいもので無い、と考えています。
プログラミングの学習工程では、様々な問題が発生します。

プログラムでは、コードの打ち込み間違いを始め、エラーというものが発生し
はじめは知らないことが多く、このエラーをどうすれば回避することができるか、
先に進むことができるのかが分からない状態です。

それを、乗り越える力、どうすれば良いのかを考える力を養うのが
プログラミングでは最も重要な事となります。

プログラムの基本原則
1.入力
2.計算
3.出力
この3つの事しかプログラムでは行われないので、これをきっちり抑えましょう。

 

2.プログラミング言語について

この講座ではプログラミングを学習するのに
「Python」
というプログラム言語を用います。

この言語は教育現場だけではなく、数多くの現場で用いられていますので
単なる学習や研究だけでなく実務をこなすのにも大いに役立つため
初めて学ぶ言語には最適です。

プログラム言語の特性としては
・非常に簡単で分かりやすい文法であること
・ライブラリという、再利用可能なプログラムが豊富
・プログラム実装の事例が豊富
ということです。

プログラム言語の人気度では上位3位以内に入り(他はjavascript など)
今最も注目を集めている言語になります。
特に統計解析や機械学習、AI関連の研究者は必ずと言って良いほど
Pythonを習得していますし国内でもその需要が増えてきています。

また一度Pythonを学習し終えたら、他の言語もすぐに覚えることができるようになります。
それくらいに初めて学ぶ言語には適していると思います。
おそらくこの講座を終える頃には、他の言語へも興味が湧き、
もっともっと学んでみたいという意欲が高まってくるんではないかと、期待しています。
ぜひPythonを主軸にプログラミングを習得していきましょう。

なお、このn時間で覚える講座シリーズは、他の言語なども予定しておりますので
この講座を終えたらそちらもよろしくお願い致します。

1.この講座について



この講座は「Python」というプログラミング言語を
5時間ほどで学習することを目的としたプログラミング学習用のプログラムです。

導入や演習部を除けばプログラミングの基礎は5時間ほどで 学習する事ができます。
これから新しくプログラミングを覚えたい方や、今までプログラミングを諦めていた方、
時間のない方、また、これからは子供のプログラミングが必修になるということですので
その親御さん世代の方にもオススメできます。

この講座ではプログラミングを学習するのに
Python というプログラム言語を用います。

この言語は教育現場だけではなく、数多くの現場で用いられていますので
単なる学習や研究だけでなく実務をこなすのにも大いに役立つため
初めて学ぶ言語には最適です。

なお、学習をするのにあたってはJupyter Notebookというツールを用います。
このツールはプログラミングのコードを打ち込んで実行したり
その結果を保存して資料を作成したり
他の人のコードを参考にしたりするのにも役立ち
他の方々に共有をしたりすることができ、
学習の効率を非常に高めることができるものです。

ぜひ一緒にコードを実行しながら、
楽しく役立つプログラミングの面白さを学んでいきましょう。
質問は随時受け付けますので、コメントお願いいたします。

Pythonは他の言語と違い
実行結果の可視化がとても楽です。

「matplotlib」と言う可視化専用のライブラリがあり
数多くの現場で用いられています。

matplotlibの使い方

まずはmatplotlibをインポートしましょう。
 
import matplotlib.pyplot as plt
%matplotlib inline

このライブラリを用いて描画すると、ブラウザの別のウィンドウに表示されてしまいます。

jupyter notebook上に表示させるためには

%matplotlib inline

と記述して、インライン表示をさせるように指定します。


それでは適当な描画をしてみましょう。
numpyでデータを生成し、それを描画してみます。
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

# 乱数を生成
x = np.random.rand(100)
y = np.random.rand(100)
 
# 散布図を描画
plt.scatter(x, y)


#サイズ、色、不透明度、線のサイズ、色を指定
plt.scatter(x, y, s=600, c="pink", alpha=0.5, linewidths="2",edgecolors="red")


#グラフのタイトル、X 軸、Y 軸の名前 (ラベル)、グリッド線を表示
plt.scatter(x, y)
plt.title("This is a title")
plt.xlabel("x axis")
plt.ylabel("y axis")
plt.grid(True)


# 乱数を 100 件生成
value = np.random.rand(100)
 
# 散布図を表示
plt.scatter(x, y, s=100, c=value, cmap='Blues')
 
# カラーバーを表示
plt.colorbar()


#正規化における最大値 (0.6)、最小値 (0.4) を指定
plt.scatter(x, y, s=100, c=value, cmap='Blues', vmin=0.4, vmax=0.6)
plt.colorbar()




#棒の色、枠線の色、太さを設定
plt.bar(left, height, color="#FF5B70", edgecolor="#CC4959", linewidth=4)




#タイトル、X 軸、Y 軸のラベルを出力
plt.bar(left, height, tick_label=label, align="center")
plt.title("This is a title")
plt.xlabel("x axis")
plt.ylabel("y axis")
plt.grid(True)


#Y 軸方向のエラーバーを黒色 (black) で表示
yerr = np.array([10, 20, 30, 40, 50])
plt.bar(left, height, yerr=yerr, ecolor="black")


#積み上げ棒グラフ
height1 = np.array([100, 200, 300, 400, 500])
height2 = np.array([1000, 800, 600, 400, 200])
plt.bar(left, height1, color="green")
plt.bar(left, height2, bottom=height1, color="orange")


このページのトップヘ