
プログラミング学習は分からないことばかり。ググれと言われましても…
独学していると、調べることが作法として求められます。
質問サイトで投稿するにも、「まず調べろよ。」といわれることもしばしば。
ただ、学習しはじめの初心者となると、書いていることの1割くらいしか理解できず、暗礁に乗り上げることが多いのではないでしょうか。
過去の自分もそうだったので分かるのですが、サイトをたらい回しにされる気分はなんとも切ないものです。
(自分の場合は、理解力がニワトリ並みなのが悪いのですが…)
なので、今回は過去の経験から、初心者が躓きそうな基礎的な用語を5つ解説してみました。
この5つが理解できれば、ググったときの理解度が上がると思います。
1.変数
プログラムにおける変数とは、データを読み書きする場所のことをいいます。
いろいろなプログラムで箱と表現されることが多いです。
一定期間、データを置いておき必要な時に取り出して使うので、このような表現がされます。
Pythonでも考え方は同じで、例えばプログラムを実行して実行結果をあとで使いたいときに使用したりします。
他のプログラミング言語のように「これは変数だよ。」と宣言をする必要もなく、変数に値が代入された時点で定義されます。
また、Pythonの変数名にはいくつか決まりがあるので、覚えておきましょう。
・先頭に数字は使用できない。
・大文字と小文字は区別される。
・英数字と_が使用できる。
2.データ型
値を分類したもの。単純に型といったり、データタイプと表記されることがあります。
データ型ごとに、値の性質や範囲、扱い方などが取り決められています。
プログラムで使用している値のデータ型が、プログラム処理の意図と異なる場合はエラーになるので、データ型はプログラムの誤りを検出する役割もあります。
分類の種類はさまざまで、プログラミング言語によって定義が異なるものの、だいたいは共通の扱われ方をします。
Pythonの代表的なデータ型は以下のとおりです。
データ型 | 説明 |
int | 整数 |
float | 浮動小数点 |
str | 文字列 |
bool | 真偽値(True/False) |
3.引数と返り値(戻り値)
ある処理に入力する値が引数、出力される値が返り値(戻り値)といいます。
“ある処理”とは、関数であったりモジュールだったりします。
関数?モジュール?っといった話は後述します。
4.オブジェクト
オブジェクトとは、プログラムの手続きを抽象化する概念のことをいいます。
この時点でなんじゃそりゃですが、もう少し掘り下げると、処理や操作する対象をモノ(オブジェクト)としてとらえる考え方です。
例えば車を作るとして、車を構成しているものを考えたとき、エンジンやブレーキ、さらにエンジンを作るための部品などが挙げられると思います。
この時の車がシステムで、エンジンなどがオブジェクトです。
車というシステムが実行結果として、走ったり止まったりするために、エンジンやブレーキなどのオブジェクトを動作(処理)させる、といえば分かりやすいでしょうか。
このように、実際は複雑なデータ構造を一括りにして抽象化することで、イメージや情報の共有がしやすくなったり、プログラミングの効率や再利用性をアップすることができるといったメリットがあります。(例えば、車のオブジェクトを使って軽自動車やスポーツカーを作るなど。このことをオブジェクト指向といいます。)
Pythonにおいても、オブジェクトは「データを抽象的に表したもの」とあるので、考え方は同様でOKです。
なので、変数や関数はすべてオブジェクトの位置づけになります。
5.ライブラリ/パッケージ/モジュール
モジュール、パッケージ、ライブラリは、3つまとめて頭に入れたほうが理解が深まると思うので、順に説明していきます。
モジュール
3つのなかでは最小単位。よく部品などに例えられます。
無理くり例えてみると、人間でいうところの指とか鼻とかの規模感。
関数などはモジュールの構成要素なので、さらに小さい細胞のイメージです。
拡張子「.py」はPythonのモジュールであり、Import文で呼び出して使うことができます。
パッケージ
モジュールが集まったもの。人間で例えると、腕とか顔、胃とか心臓とか・・・。
「持つ」とか「投げる」など、ひとつのパッケージでそれなりの仕事をしてくれる。
Pythonで__init__.pyとするとパッケージ化できます。
パッケージもImport文で呼び出して使うことができます。
ライブラリ
パッケージが集まったもの。人間で例えると、人物。
ライブラリぐらいからBeutifulSoupなどの固有名詞がつくことが多いので、そんなイメージ。ひとつのことに特化した専門家。専門家なので大抵の仕事はできる。
よく耳にする標準ライブラリは、Pythonをインストールしたらもともと用意されているライブラリです。
なので、Import文を使わずに使えます。
外部ライブラリは、インストールした上でImport文で呼び出さないと使えません。
Pythonのウリのひとつがこの外部ライブラリで、多種多様、高機能なものがそろっているのが魅力。
この強力な外部ライブラリを持ちながらも、学習しやすいところがPythonの人気ともいえます。
まとめ
Pythonやプログラミング学習で絶対といっていいほど目にする5つの用語について、説明させていただきました。
このあたりは英語などの語学学習と同じで、語彙が増えればサイトや専門書の理解度もアップすると思います。
書いてあることが理解できるようになったら、実際に手を動かしてみることをおススメします。
手前みそですが、Pythonでスクレイピングをやってみたいなという方は、以下の記事を参考にやってみましょう。
「うまのいえ」では、今後もWebスクレイピングのネタを中心にブログを更新していきます。
また、足を運んでいただけると喜びます。
ご清聴ありがとうございました。