30---绑定方法与非绑定方法

一 绑定方法

绑定方法:特殊之处在于将调用者本身当作第一个参数自动传入
    1 绑定给对象:调用者是对象,自动传入的是对象
    2 绑定给类:调用者是类,自动传入的是类
# 类方法---通常用来在__init__的基础上提供额外的初始化实例的方式
ip = '123.01.03'
port = 3306
class Data:
    def __init__(self,ip,port):
        self.ip = ip
        self.port = port
    @classmethod  # 将下面的函数装饰成绑定给类的方法
    def from_file(cls):
        return cls(ip,port)
data = Data.from_file()

二 非绑定方法

非绑定方法---静态方法@staticmethod
    将被装饰函数编程普通函数,没有绑定给任何人
    没有绑定给任何类或者对象,没有自动传参的效果

三 总结

总结:
总结绑定方法与非绑定方法的使用:若类中需要一个功能,该功能的实现代码中需要引用对象则将其定义成对象方法、需要引用类则将其定义成类方法、无需引用类或对象则将其定义成静态方法。
posted @ 2020-04-12 20:08  微信搜索-程序媛小庄  阅读(121)  评论(0编辑  收藏  举报