Python を使ってあの頃の知識を取り戻したい

Blog Single

みなさんこんにちは。最近手荒れがひどく、ハンドクリームを購入した佐野です。
もうすぐ今年も終わってしまいますね。

さて、前回、前々回、その前と Node.js に関して触れてきましたが、今回はちょっと どうしてもやってみたいこと があったので、 Python に関して書いていこうかなと思います。

というのも、今の会社に入る前、ぼくは大学院で天体物理学を学んでいたのですが、今となってはその知識のほとんどを忘れてしまっていて、なんだかモヤモヤした日々を過ごしていました。
せっかくならその頃の知識を取り戻したい!方程式とか解きたい!今やってる仕事にも活かせるものはないか?と考えた時に思い浮かんだのが、専門的なライブラリが豊富にある Python でした。
そういうわけで今回は Python に関して触れていきます。理由はいつも単純ですね。というわけでやっていきましょう。

Python とは

Python とは、組み込み開発や Web アプリケーション等で利用されている言語です。人工知能や機械学習の分野でも Python が使われているケースが多いようですね。様々な特徴がありますが、主な特徴を簡単にまとめます。

文法がシンプル

少ないコード量で簡単にプログラミングができ、可読性が高い言語です。
文法がとてもシンプルで、スコープがインデントで決められているため、誰が書いても似たようなコードになります。

専門的なライブラリが豊富

Python では様々なライブラリが公開されていますが、専門的なライブラリも豊富です。大きく分けると、以下のようなライブラリがあります。
* 数値計算、統計処理
* 画像/音声/動画処理
* Web 開発、サーバ
* ネットワーク
* データベース
* 自然言語処理

今回はこれらの中でも、数値計算ライブラリを用いてやっていこうと思います。

開発環境

Python のバージョンに関して、2 系と 3 系では一部互換性がなかったり、現在でも 2 系でのみ使用できるライブラリがあったりと結構な違いがありますが、今回は 3 系を使ってやっていきます。

  • macOS High Sierra 10.13.6
  • Python 3.7.1

インストール

Python3 を Homebrew でインストールします。Homebrew をインストールしたら、brew コマンドを用いて Python3 をインストールしましょう。

$ brew install python3

インストールが終了したら、バージョンを確認してみましょう。

$ python3 --version
Python 3.7.1

インストールできました。余裕ですね。

Python を使ってみる

早速起動してみましょう。起動は簡単で、以下のコマンドで実行できます。

$ python3
Python 3.7.1 (default, Nov 28 2018, 11:51:54)
[Clang 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

簡単に挙動確認をしてみましょう。

コマンドラインから使ってみる

まずはコマンドライン上で見てみます。

>>> str = 'Python3 を使ってみたよ' # 文字列を定義
>>> print(str) # 文字列を出力
Python3 を使ってみたよ
>>> print('私は' + 'イケメンです') # 文字列の結合
私はイケメンです
>>> 1 + 2 # 足し算
3
>>> 3 - 4 # 引き算
-1
>>> 5 * 6 # 掛け算
30
>>> 7 / 8 # 割り算
0.875

ここら辺はだいたいどの言語も一緒ですね。

.py file を作成してそれを実行する

次に以下の内容を記述した test.py ファイルを作成してみました。

# if 文
x = 4
if x > 5:
    print('x は5より大きいよ')
elif x <= 5:
    print('x は5以下だよ')


# for 文
color_list = ['red', 'blue', 'yellow', 'green']
for color in color_list :
    print(color)

# function
def test_function(input):
    if 2 <= input <= 8:
        print('input は2以上8以下の数字だよ')
    else:
        print('input は2より小さく8より大きい数字だよ')

test_function(8)
test_function(9)

冒頭でも述べましたが、スコープがインデントで決まるのでわかりやすいですね。
このファイルを以下のコマンドで実行してみると、

$ python3 test.py
x は5以下だよ
red
blue
yellow
green
input は2以上8以下の数字だよ
input は2より小さく8より大きい数字だよ

こんな感じで表示されます。

ライブラリのインストール

Python には便利なライブラリがいくつかあるので、それをインストールしていきましょう。インストールには pip3 コマンドを使用します。

$ pip3 install numpy
$ pip3 install matplotlib

これで、ファイルの上部で使用したいライブラリをインポートしてやるだけで使用できるようになります。

三角関数の描画

先ほどインストールしたライブラリを使用して、以下のような test_sin.py を作成しました。

# ライブラリのインポート
import numpy as np
import matplotlib.pyplot as plt

# x軸 ( -3 から 3 まで 0.1 刻み )
x = np.arange(-3, 3, 0.1)
# y軸 ( 三角関数の sin )
y = np.sin(x)

# プロット
plt.plot(x, y)

# 罫線の追加
plt.grid()

# プロットの表示
plt.show()

これを実行してみると、

$ python3 test_sin.py

綺麗なサインカーブを描画することができました!

まとめ

今回は Python に関して書きました。以前軽く触りだけやっていたことがあるのですが、シンプルなコードのおかげで思い出しながらサクサクと書くことができました。
どうしてもやってみたいこと の本当に準備の準備みたいな段階までしか書くことができなかったので、次回か、その次くらいに続きを書いていこうかなと思います。ではみなさん、良いお年を。

参考

Posted by masafumi.sano
ゲームと音楽とお酒が好き。 あと数学と物理と宇宙も好きな元大学院生。 通称 : イケメン

Other Posts: