LoginSignup
7
6

More than 3 years have passed since last update.

【Python初心者】classの使い方とは?5stepsで理解しよう!(メソッドとインスタンス)

Last updated at Posted at 2020-07-27

今回目指すアウトプット

image.png

結論

・クラス
・メソッド
・インスタンス
の3つを定義する。

結論
class クラス名():        #クラス名をつける
    def メソッド名(self): #メソッド名をつける
        実行したい処理    #実行したい処理
インスタンス名 = クラス名() #インスタンス名をつける

インスタンス名.メソッド名() #呼び出す

各論

classの定義(step1)

step1
class クラス名(): # <--- これをまず覚える

classの使い方(step2)

step2
class クラス名(): 
    実行したい処理 # <--- ここに処理をかく

classを使うためには、インスタンス化する必要がある。
これにより、classを呼び出すことができる。
(実行したい処理に関しては、「メソッドの定義」で説明する)

インスタンス化(step3)

step3
      class クラス名(): 
          実行したい処理 
      インスタンス名 = クラス名()   # <--- インスタンス化して呼び出せるようにする

実行したい処理には、「メソッド」を使用することができる。

メソッドの定義(step4)

step4
      class クラス名(): 
          def メソッド名(self): #メソッドの定義(実行したい処理を関数化)
      インスタンス名 = クラス名()

メソッド名(self)の()の中には、必ず1つ以上の引数を渡す。その際、最初の引数はselfにする。

classの呼び出し方(step5)

step5
       インスタンス名.メソッド名()# <--- これで呼び出す

結論

結論
class クラス名():        #クラス名
    def メソッド名(self): #メソッド名
        実行したい処理    #実行したい処理
インスタンス名 = クラス名() #インスタンス名

インスタンス名.メソッド名() #呼び出す

具体例

例1

class message():        #クラス名=message
    def hello(self):    #メソッド名=hello
        print("Hello!") #実行したい処理=「Hello!」を出力
mess = message()        #インスタンス名=mess

mess.hello() #呼び出す

出力として「"Hello!"」が得られる。
image.png

例2
class MyPetInfo:    # <--- mypetinfoというclassを作成
    family = '犬'   # <---ここから下は関数
    def say(self):
        print('ワン')
    def growl(self):
        print('ウー')

mypet_info = MyPetInfo()   # <---インスタンス化して呼び出せるようにする

mypet_info.family          # 表示されず
print(mypet_info.family) # 犬

mypet_info.say()  # ワン
mypet_info.growl()# ウー

これができたら、次はinitを理解しよう。

<追記>
"守るべき命名規約(PEP8)"

対象 ルール
クラス 最初大文字 + 大文字区切り MyFavoriteClass
メソッド 全小文字 + アンダースコア区切り my_favorite_method
関数 全小文字 + アンダースコア区切り my_favorite_funcion
インスタンス変数 全小文字 + アンダースコア区切り my_favorite_instance
定数 全大文字 + アンダースコア区切り MY_FAVORITE_CONSTATA

PEP8より抜粋しました。

7
6
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6