レッスン1 / 5問目

『クラスとは』

-クラスの概要とオブジェクトについて-

このレッスンではクラスについて学習していきましょう。pythonを学習していく上で重要度の高いレッスンです。丁寧に説明していきますのでゆっくり理解していきましょう。

まず、クラストはどのようなものなのでしょうか。クラスとは一言で表すと「オブジェクトの設計図です」。オブジェクトはクラス(設計図)から作られていて、文字列やリストなどのpythonのオブジェクトは全てクラスから作られています。

と説明されても何のことかわからないと思います。実は今まで皆さんは当たり前のようにクラスから作られたオブジェクトを使っていたのですが、そのことについては詳しくは触れてきませんでした。このレッスンでは今まで使ってきたクラスやオブジェクト、またメソッドなどについて詳しく掘り下げてみていきます。
まずはオブジェクトはクラスから作られているということについて見ていきましょう。


-オブジェクトはクラスから作られている-

ここからは右のエディタを使っていきます。

まずエディタの2行目に"hello"という文字列が格納された変数aがあります。その下3行目には変数aの型を出力するコードが記述してあります。まずはこのコードを実行し、出力結果を確認してみてください。すると以下のように出力されます。

<class 'str'>

strという型の左にclassという記述があります。これはstrという型(クラス)から作られたオブジェクトであることを表しています。つまり皆さんがこれまで使ってきた文字列は実はstrクラスから作られており、そのため文字列という型を持った文字列型オブジェクトであるといえます。

次はリストの例を見ていきましょう。
右のエディタの7行目を見ていただくとリストbがあります。まずこのリストbの型を出力するコード を記述し実行してください。すると以下のように出力されます。

<class 'str'> <class 'list'>

strと同様にlistという型の左にclassという記述があります。これもlistという型(クラス)から作られたオブジェクトであることを表しています。つまり皆さんがこれまで使ってきたリストも実はlistクラスから作られており、そのためリストという型を持ったリスト型オブジェクトであるといえます。

さらに今まで使ってきた辞書、タプル、整数なども同様に全てクラスから作られています。

データ class
辞書 dict
タプル tuple
リスト list
文字列 str
整数 int

このようにオブジェクトはそれぞれクラスから作られてるということを押さえておきましょう。

-クラスは設計図-

冒頭でクラスは設計図であるという説明をしました。設計図であるためクラスには実体はなくオブジェクトを構成する機能が定義されています。つまりオブジェクトはクラスごとに定義された機能を持って生成されるということです。この意味についてこれまで皆さんが使ってきたオブジェクトを例に挙げて説明します。

これまで皆さんはメソッドというものを使ってきました。メソッドとはそれぞれの型に対してのみ使える関数であるという説明をしました。
リストであればappendやinsert、remove、文字列であればreplaceやstripなどがこのメソッドに該当します。

ではこれらのメソッドとクラスはどのような関係があるのでしょうか。結論から言うとメソッドはクラスの中で定義された関数なのです。つまりクラスという設計図の中で定義された機能の一つがメソッドであるということです。そのためオブジェクトの型によって使うことができるメソッドや性質がそれぞれ異なっていたというわけです。

以降のレッスンでクラスの中身を具体的に見ていきますのでここではクラスという設計図にはメソッドなどの機能が定義されているためオブジェクトそれぞれがクラス(型)特有の機能をもつということを押さえておきましょう。



このレッスンはこれで以上となります。今回は練習問題はありませんので判定ボタンを押して次のレッスンに進んでください。
(判定で次に進めない場合は解答をコピー&ペーストしてください。)

Last updated:2019/12/19


  1. # 例題1
  2. a = "hello"
  3. print(type(a))


  4. # 例題2
  5. b = ["a", "b", "c", "d"]
  6. print(type(b))
main.py
設定
g
n
i
d
a
o
L