今さらPython

関数的なものって思ったけど、今どきならやっぱりクラスでしょ。

サンプルコード

それじゃ、時間を取得して30分後を返すようなものを作ってみるわ。戻り値のあたりがRubyな人には困惑の元なので、そこに気をつけて。

import time
import datetime

class Jikoku():
   def momog(self,jkk):
       return(str(jkk.hour) + "時" + str(jkk.minute) + "分" + str(jkk.second) + "秒")

   def now(self):
       return(datetime.datetime.now())

   def __init__(self):
       self.dt = self.now()
       self.answer = self.momog(self.dt)
       self.momotime = self.dt + datetime.timedelta(minutes=30)
       self.answer2 = self.momog(self.momotime)

#

mx = Jikoku()
print(mx.answer)
print(mx.momotime) # 桃岩時計
print(mx.answer2)

ちょっと解説

あいかわらずendがないけど、Rubyでクラス使ったことのある人ならわかるでしょ。

__init__ はrubyの initialize にあたるようで、クラスオブジェクトが作られた時に呼ばれるみたいね。普通に self.value が外から参照できるのも便利よね。

戻り値は return で返せるみたい。このへんもわかりやすいわね。

実行結果

18時13分36秒
2020-02-05 18:43:36.787171
18時43分36秒

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-02-05 (水) 18:16:59