#author("2020-02-05T18:16:59+09:00","default:yakumo_murakami","yakumo_murakami")
[[今さらPython]]

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

* サンプルコード [#u379d5c4]

それじゃ、時間を取得して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)

** ちょっと解説 [#v8dc6891]

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

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

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

* 実行結果 [#v0298518]

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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS