zoukankan      html  css  js  c++  java
  • 类的绑定方法

    绑定方法

    对象绑定方法/类的绑定方法

    绑定方法的特殊之处就是绑定给谁就是谁来掉,并且会把自身传过来

    类的绑定方法

    绑定给类的,类来调用,会把自身传过来

    类的绑定方法用在什么地方?

    不需要通过对象,只需要通过类就能获取到一些东西的时候,用类的绑定方法

    类的绑定方法,可以由对象来调

    class Person:
        def __init__(self,name,age):
            print(self)
            self.name=name
            self.age=age
    
        @classmethod
        def test(cls):
            print(cls)
            print('类的绑定方法')
            #类实例化产生对象,返回
            return cls('lqz',19)
     @classmethod
    #     def get_obj_by_name(cls,name):
    #         #1 去文件中查找名字为 name 的pickle文件
    #         #2 反序列化成对象
    #         #3 return 对象
    #         pass
    #     def get_obj_by_name(self,name):
    #         # 1 去文件中查找名字为 name 的pickle文件
    #         # 2 反序列化成对象
    #         # 3 return 对象
    #         pass
    per1=Person.test()
    # per2=Person('nick',19)
    
    class Admin:
        def __init__(self,name,age):
            print(self)
            self.name=name
            self.age=age
        @classmethod
        def get_obj_by_name(cls,name):
            #取到类的名字
            type_class=cls.__name__.lower()
    
            pass
    
        #对象的绑定方法
        def get_obj_by_name1(self,name):
    
            pass
    # lqz=Admin.get_obj_by_name('lqz')
    # admin=Admin.get_obj_by_name1(None,'lqz')
    
    admin=Admin('',19)
    
    # admin1=admin.get_obj_by_name1('lqz')
    
    #类的绑定方法,可以由对象来调
    class Person:
        def __init__(self,name,age):
            self.name=name
            self.age=age
        @classmethod
        def test(cls):
            print(cls)
            print('类的绑定方法')
    # Person.test()
    p=Person('nick',18)
    #对象可以调用类的绑定方法,也是把该对象的类传入
    p.test()
    
    
    

    总结

    classmethod 是个装饰器,放在类中函数上面,该函数就变成了类的绑定方法

    类的绑定方法有类来调用,自动把类传过去(对象也可以调用,一般不用)

    类的绑定方法用在什么地方?

    不需要通过对象,只需要通过类就能完成某些事的时候,就把该方法定义为类的绑定方法

  • 相关阅读:
    Elasticsearch6.x和7.x版本常用插件汇总
    阿里巴巴JAVA开发规范学习笔记
    jQuery学习和知识点总结归纳
    MySQL常用维护命令和操作
    MySQL知识点系统总结
    HTML基础知识自学教程
    最值得拥有的免费Bootstrap后台管理模板
    强烈推荐优秀的Vue UI组件库
    再次学习Git版本控制工具
    Linux下Apache虚拟主机配置
  • 原文地址:https://www.cnblogs.com/aden668/p/11429787.html
Copyright © 2011-2022 走看看