クラスメソッドの第1引数はclsで、クラス自身を示す
import datetime
class Reserve:
dt_now = datetime.datetime.now()
def __init__(self, dep, dest, time):
self.dep = dep
self.dest = dest
self.time = time
def plan(self):
print(f"予約内容は、出発地:{self.dep}、目的地:{self.dest}、出発時間:{self.time}です")
@classmethod
def clock(cls):
print(f"只今の時刻は、{cls.dt_now}です")
osakaTrip = Reserve("東京","大阪","16時")
osakaTrip.plan()
Reserve.clock()
$ python3 test.py
予約内容は、出発地:東京、目的地:大阪、出発時間:16時です
只今の時刻は、2023-11-16 02:47:03.822162です
print(f”只今の時刻は、{dt_now}です”) とすると、以下のようにエラーになります。
Traceback (most recent call last):
File “/home/vagrant/dev/test/test.py”, line 23, in
Reserve.clock()
File “/home/vagrant/dev/test/test.py”, line 18, in clock
print(f”只今の時刻は、{dt_now}です”)
NameError: name ‘dt_now’ is not defined