• 绑定方法与非绑定方法


    一. 绑定方法

      绑定方法可以是对象的绑定方法, 类的绑定方法

      绑定方法的特殊之处在于绑定给谁就用谁来调用,并且会把自身传过来

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

      没有装饰器装饰的函数是对象的绑定方法

    class Person:
        def __init__(self, name, age)
            self.name = name
            self.age = age
        @classmethod     # 类的绑定方法
        def taxt(cls):
            print("我是类的绑定方法")
            # 类实例化产生对象,返回
             return cls('panshao', 18)
    
    # 类的绑定对象由类来进行调用
    
    Person.taxt()
    

      在上面例子当中,类实例化产生对象以后可以通过person=Person.taxt()来调用,  他就相当于person2 = Person('panshao', 18),那么类的绑定方法用在什么地方?他是用在不需要通过对象,只需要通过类就能获取到一些东西的时候,就用类的绑定方法,

    在类的绑定方法中对象也可以调用,就是将这个对象当做类传入,一般不会用对象来调用类的绑定方法

    二. staticmethod(非绑定方法)

      绑定给类的用classmethod, 绑定给对象的什么都不加

      staticmethod 定义在类的内部, 普通方法, 谁都不绑定, 对象和类都可以调用,但是不会自动传值

    class Person:
        def __init__(self, name, age)
            self.name = name
            self.age = age
        @staticmethod     # 类的非绑定方法   是一个普通函数, 只不过是写在类内部的
        def taxt():
            print("我是静态方法,谁都不绑定")
    
    # 类可以来调用
    Person.taxt()
    
    # 对象来调用
    p = Person('panshao', 18)
    p.taxt()
    

      静态方法的作用: 跟类和对象都没关系的时候用静态方法,用在类的内部,也可以用在外部

    生前无需久睡,死后自会长眠,努力解决生活中遇到的各种问题,不畏将来,勇敢面对,加油,你是最胖的,哈哈哈
  • 相关阅读:
    xhtml中隐藏滚动条
    一个题目包括70种网页制作常用技巧 (转)
    Oracle 数据类型映射 (ADO.NET)
    oracle数据库 数据类型
    VisualSVN Server的配置和使用方法
    oracle 权限管理
    项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】
    showModalDialog和showModelessDialog使用心得
    Bug跟踪管理【Bug Trace and Management】
    开发WAP站点之使用PC电脑浏览器访问WAP手机站点 (转)
  • 原文地址:https://www.cnblogs.com/panshao51km-cn/p/11618870.html
Copyright © 2020-2023  润新知