くろまる社長 「python」学習日記 2020-07-07
2020-07-07
今日やったことリスト(座学)
- インスタンスメソッド
- クラスメソッド
- スタティックメソッド
学んだこと
- インスタンスメソッドとは
通常のメソッド - クラスメソッドとは
クラスをインスタス化しなくても呼び出すことができるメソッド - スタティックメソッド
クラスをインスタン化しなくても呼び出すことができる
インスタンス化しても呼び出し可能
※ただ、selfや、clsなどのインスタンスやクラスを表す変数がいらない
調べたこと
- Pythonの真偽値bool型(True, False)と他の型との変換・判定
https://note.nkmk.me/python-bool-true-false-usage/
- --- 基本的な日付型および時間型
https://docs.python.org/ja/3/library/datetime.html#timedelta-objects
今日やったコード一覧
- instnce_method.py
class Instance_methodClass:def __init__(self, x, y):self.x = xself.y = y#インスタンスメソッドif display_x:print('x is {}'.format(self.x))if display_y:print('y is {}'.format(self.y))instance_classmethod = Instance_methodClass(100,50)#instance_classmethod.hoge_instacemethod(display_x = 0)
"""bool型はint型のサブクラスbool型、Trueは、1 Falseは、0と等価""" - instance_classmethod.py
import datetimeclass DateClass:def __init__(self, year, month, day):self.year = yearself.month = monthself.day = day#クラスメソッド@classmethoddef date_classmethod(cls, date_fiff = 0):tody = datetime.date.today()d = tody + datetime.timedelta(days = date_fiff)return cls(d.year, d.month, d.day)
#インスタンス化しないで呼び出しdate_class0 = DateClass.date_classmethod()print(date_class0.year, date_class0.month, date_class0.day)
#インスタンス化しないで呼び出しdate_class1 = DateClass.date_classmethod(-10)print(date_class1.year, date_class1.month, date_class1.day)
#通常のインスタンスdate_class2 = DateClass(2020,7,2)print(date_class2.year, date_class2.month, date_class2.day) - instnce_staticmethod.py