Python:classmethodの継承

hdknr@ubuntu-vbox:~$ cat classmethod.py

class  Flower(object):
    type=’Generic’
    @classmethod
    def blossom(cls):
        self =cls()
        return self

class Cherry(Flower):
    type="Cherry"
    pass

if __name__ == "__main__":
    print dir(Cherry)
    for f in [ Flower.blossom() , Cherry.blossom()]:
        print f.type, f

hdknr@ubuntu-vbox:~$ python classmethod.py
[‘__class__’, ‘__delattr__’, ‘__dict__’, ‘__doc__’, ‘__getattribute__’, ‘__hash__’,
‘__init__’, ‘__module__’, ‘__new__’, ‘__reduce__’, ‘__reduce_ex__’, ‘__repr__’,
‘__setattr__’, ‘__str__’, ‘__weakref__’, ‘blossom’, ‘type’]
Generic <__main__.Flower object at 0xb7dc5e8c>
Cherry <__main__.Cherry object at 0xb7dc5eac>
hdknr@ubuntu-vbox:~$

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中