[python]Classについてざっくりと

こんにちは。

今回はpythonにおけるClassについてざっくりと書いていきたいと思います。

詳しい解説はネット上にいろいろな情報が溢れているので省きますが、
実際のClassを使った例を、なるべく専門用語を使わずに説明したいと思います。(私自身、専門用語があまりわからないもので・・・)

例1:単純なもの

まずは全体のコードから

class Person:
    def __init__(self,name,age):
        self.name=name
        self.age=age

def main():
    human1=Person('Tom',20)
    print(human1.name)
    print(human1.age)

if __name__=='__main__':
    main()

実行すると
Tom
20
とプリントされたと思います。

ざっくり解説

class personの宣言

class Person:
    def __init__(self,name,age):
        self.name=name
        self.age=age


よくclassは設計図やレシピ、またはひな形なんて表現されたりします。

def __init__(self,name,age): は、class Personの初期化を行うという事で、
nameとageという2つのデータ(引数)を
self.nameとself.ageに格納しますよ、という操作を意味しています。
(selfはclassのルールで、第一引数や変数の先頭につけることになっています。)
関数(def ~:メソット)も定義することが出来ますが、それは後ほど。

classの使用(インスタンス化 インスタンス変数)

def main():
    human1=Person('Tom',20)
    print(human1.name)
    print(human1.age)

実際にclassを使用するためには、インスタンス化というものをしなければなりません。

human1=Person('Tom',20) 
の部分がインスタンス化したもので、

human1はclass Personにname='Tom'とage=20を渡したものですよ。と
いう意味になり、これでclass Personが使用できるようになりました。
この一連の操作をclassのインスタンス化、human1をインスタンス変数と
言います。

先ほどの
def __init__(self,name,age):
にある name と age にそれぞれ Tom と 20 が渡されるため、
self.name = name  →  self.name='Tom'
self.age = age  →  self.age  =  20
となります。

以上の事から、
インスタンス変数 human1は
name='Tom'
age=20
というデータを持っているということになります。

このデータを使用したいときは
human1.name やhuman1.ageのように
インスタンス変数の後に使用したいデータ名を
記述すれば使用することが出来ます。

以上でかなりざっくりした基本解説は終了します。
今回の内容は、かなり基本的なところなので、

メソットや継承などは、またまとめて
書いていきたいと思います。

ありがとうございました。









この記事が気に入ったらサポートをしてみませんか?