类方法和静态方法

class People(object):
    color = "yellow"
    __age = 30  #私有属性

    def think(self):
        self.color = "black"
        print("I am a %s" %self.color)
        print(self.__age)

    def __talk(self):
        print("I am talking with Tom")

    # def test(self):
    #     print self.color
    @classmethod  #装饰器,只对下面的一个函数起作用
    def test(self):
        # print("this is func")
        print("this is class method")
        # print People.color  #访问类里面其它成员

    def test2(self):
        # print("this is func")
        print("this is class method test2")
        # print People.color  #访问类里面其它成员

    cm = classmethod(test2)
    sm = staticmethod(test2)   #  静态方法的,需要通过函数后才行

    @staticmethod    #装饰器,只对下面的一个函数起作用
    def test1():
        print ("this is static method")

David = People()
People.cm()
People.sm(David)
David.sm(David)
People.test()
David.test()
People.test1()

输出:

this is class method test2
this is class method test2
this is class method test2
this is class method
this is class method
this is static method
posted @   ty1539  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示