python-面向对象(绑定方法与非绑定方法)
一、绑定方法:
绑定给谁就应该由谁来调用,谁来调用就会将谁当做第一个参数传入
1.绑定给对象的方法:类中定义的函数默认就是绑定给对象的,自动将对象当作第一个参数传入,类也可以调用,但是不会自动传值
2.绑定给类的方法:为类中定义的函数加上一个装饰器classmethod,自动将类当作第一个参数传入,对象也可以调用,但是仍然将类当第一个参数传入
二、非绑定方法:
即不与类绑定,又不与对象绑定,意味着对象和类都可以来调用,无论谁来调用都是一个普通函数,没有自动传值的效果
import settings class Mysql: def __init__(self,ip,port): self.ip = ip self.port = port self.id =self.create_id() def tell_info(self): print('id:%s,ip:%s port:%s'%(self.id,self.ip,self.port)) @classmethod def from_conf(cls): return cls(settings.ip,settings.port)#clx(ip,port) @staticmethod def create_id(): import uuid return uuid.uuid4() # obj = Mysql('1.2.3.4','3006') obj = Mysql.from_conf() obj.tell_info()
后期补全!
焚膏油以继晷,恒兀兀以穷年。