今回目指すアウトプット
結論
・クラス
・メソッド
・インスタンス
の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() #呼び出す
例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より抜粋しました。