Python の勉強 スロットゲーム編 〜その16:サードパーティライブラリ「matplotlib」を使ってみる 番外編〜

プログラミング

コマンドスタイルの使い方

参考のため、コマンドスタイルで書いた場合のプログラムを残しておきます。
オブジェクト指向スタイルと違って、全て「plt」を通して操作しているのがお分かりいただけると思います。

import matplotlib.pyplot as plt


# 図を表示する領域を確保します
plt.figure()

# 全体を、縦1横2に分けた1つ目に描画
# |-----+-----|
# | /// |     |
# | /// |     |
# | /1/ |  2  |
# | /// |     |
# | /// |     |
# |-----+-----|
plt.subplot(1, 2, 1, title='121')
plt.plot([1, 2, 4, 8, 16])

# 全体を、縦2横2に分けた2つ目に描画
# |-----+-----|
# |     | /// |
# |  1  | /2/ |
# |     | /// |
# |-----+-----|
# |     |     |
# |  3  |  4  |
# |     |     |
# |-----+-----|
plt.subplot(2, 2, 2, title='222')
plt.plot([1, 4, 8, 4, 1])

# 全体を、縦2横2に分けた4つ目に描画
# |-----+-----|
# |     |     |
# |  1  |  2  |
# |     |     |
# |-----+-----|
# |     | /// |
# |  3  | /4/ |
# |     | /// |
# |-----+-----|
plt.subplot(2, 2, 4, title='224')
plt.plot([0, 2, 1, -4, -2])

# 全体のタイトルを設定
plt.suptitle('matplotlib test')

# 全体を表示
plt.show()

オブジェクト指向スタイルとほぼ同じプログラムになります。ただ「これをやって、次はこれ」という手順に従わないといけませんし、プログラムを部分的に切り抜いたり、順番を入れ替えたりできないのも不便に思います。

“オブジェクト指向” は既にプログラミングの世界において市民権を得ており、エンジニアを目指す人にとって理解すること・慣れることは避けては通れない課題となっております。オブジェクト指向に慣れていただくためにも、この記事で紹介したコマンドスタイルではなく、オブジェクト指向スタイルの方を使うように意識して下さい。

(おまけ)すべてがオブジェクト

以下は Ruby の紹介文になります。

すべてがオブジェクト

理想的な構文を見つけようと、Matzは当初、他の言語を調査したそうです。 その時のことを思い出して、Matzは「Perlよりも強力で、Python2よりもオブジェクト指向な言語が欲しかったんだ」と語っています。

Rubyでは、すべてのものはオブジェクトです。

Rubyとは

「オブジェクトとは?」という言葉の意味を調べ始めると、すぐに大量の、しかも難関な言葉を目にすることになると思います。例えば「カプセル化」や「ポリモーフィズム」等です。どれも大切な概念ではありますが、先ずは前の記事で記載したように、対象の何かについて呼びかけをしているというのをイメージしてみて下さい。「主語 . メッセージ」という関係です。

コメント

タイトルとURLをコピーしました