この記事を書く前に、Tkinterやってみたみたいな記事を書こうと思っていたんですが、一旦それより先にこの記事を書こうと。「Class」ってなんだよと。なんか関数の枠よりでかい何かっぽいことは分かるけども、全然わからないと。

「なんか書いてるな〜」でおわってしまうと。

というわけで、この記事ではクラスの雰囲気を感じ取ってもらって軽く理解できるぐらいを目標にしたいと思います。自分の国語力はかなり足りないので、分かりにくいということは頭の片隅にでも置いといてください。あと自分Pythonあまり詳しくないので情報の正確性に欠けます。



クラスの考え方


クラスといっても、学校とはぜんぜん関係ないです(知ってた)。

クラスは、「テンプレート」みたいなもんです。1からもう一度作り直そうとしたら手間がかかってめんどくさい時、あらかじめ作っておいたテンプレートの一部をいじるみたいなもんです。

例えば、友達にあるライトノベルの話をしようとした時に、話の内容を

「主人公が家に帰ってたら急に違う世界に転生して、気づいたら魔王になっていて、主人公が途中で出会ったヒロインとともに勇者を倒しにいく話」
とまとめるより、

「異世界転生もので主人公が魔王になるやつ」
っていう方がシンプルなのと同じです。知らんけど。

でっかいテンプレを一つ作っておいて、ちょこちょこ内容変えたらいろんなバリエーション大量生産しやすくね?って考えです。

つまり、クラスの考え方≒テンプレ使いまわしたら楽じゃね? です。

Tkinterで例えると、
「赤いOKボタンを一から作るのは面倒だから、すでにあるボタンのテンプレートを赤色にしようっと」
になります。(この方がプログラムがシンプルになる)



言葉の解説



名前空間
同じ名前があった時に区別をつけるために〇〇の方の××っていうあれ。もしかしたら別の記事になるかも。

属性
中身のことです。うぅ〜ん説明が分かりにくい。

継承
親のクラスの属性(中身)を受け継ぐこと。分身作る的な。
つまりクラスの内容をコピー&ペーストするみたいなもんです。厳密には違う。

メソッド
関数の進化版みたいなもんです。
わからない人は関数だと思ってくれていい。

インスタンス
クラス(テンプレ的な)から実際に作ってみたモノのことです



このサイト結構詳しく書いてくれているので読んでみるべき
Python のクラスって何?




まとめ


クラスは便利。