zoukankan      html  css  js  c++  java
  • 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()

    后期补全!

  • 相关阅读:
    十一作业
    11.20
    11.13 第十二次、
    11.13 第十一次、
    11.06第十次、
    11.06第九次、
    10.30
    10.23
    10.16
    10.9
  • 原文地址:https://www.cnblogs.com/mangM/p/9520205.html
Copyright © 2011-2022 走看看