somepeople

python面向对象_绑定方法与非绑定方法

一:绑定方法:绑定给谁,就应该由谁来调用,谁来调用就把调用者当做第一个参数自动传入

二:非绑定方法:普通方法,正常函数形式传参

类中直接定义的方法就成为绑定到对象的方法

类中用classmethod装饰器装饰的方法就是绑定到类的方法,但也可以被对象来调用

类中用staticmethod装饰器装饰的方法就是非绑定方法

class people:
    def __init__(self,name):
        self.name = name
    #绑定到对象的方法,由对象调用
    def tell(self):
        print(self.name)
    #绑定到类的方法
    @classmethod
    def info(cls):
        print(cls)
    #非绑定方法
    @staticmethod
    def msg(x,y):
        print(x+y)


p1 = people('ryan')
p1.tell()
people.info()
people.msg(1,4)
p1.msg(5,9)

#ryan
#<class '__main__.people'>
#5
#14

 

posted on 2020-08-31 22:01  Hello_Thanos  阅读(115)  评论(0编辑  收藏  举报

导航