ここまで説明してきませんでしたが、数値や文字列、リスト、関数などはすべて「オブジェクト」と呼ばれる存在です。そして、オブジェクトを生成するための設計図やひな形と言えるのが「クラス」です(図1)。ステップ7ではこのオブジェクトとクラスを解説しましょう。

図1●クラスはオブジェクトの設計図やひな形のようなもの
[画像のクリックで拡大表示]

 まず、「オブジェクトとは何か?」です。いろいろな側面から説明できますが、ここでは比較的単純に、「変数と、それに関連する関数をセットにしたもの」と理解しておきましょう。変数と関数がセットになっているので、プログラミングしやすくなるわけです。言い換えると、オブジェクトは「変数や関数を備えているもの」です。オブジェクトが持つ関数は「メソッド」とも呼ばれます。

 もう一つ覚えておきたいことは、しっかりと作られたオブジェクトは「独立性が高い」という点です。つまり、オブジェクト単体で何か意味のある表現や処理が可能です。

 手始めに、type関数を使って数値や文字列、リストがどのようなクラスなのかを調べてみましょう。type関数の引数に123、"python"、[1, 2, 3]というオブジェクトを指定して実行します。


>>> type(123)
<class 'int'>
>>> type("python")
<class 'str'>
>>> type([1, 2, 3])
<class 'list'>

 このように、123は「intクラス」、"python"は「strクラス」、[1, 2, 3]は「listクラス」であることがわかりました。intはinteger(整数)、strはstring(文字列)を意味しています。もちろん、これらはPythonがあらかじめ用意しているクラスです。

 関数もオブジェクトなので、例えばlen関数のクラスを調べてみましょう。


>>> type(len)
<class 'builtin_function_or_method'>

 len関数は「builtin_function_or_methodクラス」のオブジェクトであると判明しました。

この先は会員の登録が必要です。今なら有料会員(月額プラン)が12月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら