Python中类和对象的绑定及非绑定方法是什么(python,开发技术)

时间:2024-05-08 17:26:35 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    Python%E4%B8%AD%E7%B1%BB%E5%92%8C%E5%AF%B9%E8%B1%A1%E7%9A%84%E7%BB%91%E5%AE%9A%E5%8F%8A%E9%9D%9E%E7%BB%91%E5%AE%9A%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88

类中定义的方法大致可以分为两类:绑定方法和非绑定方法。其中绑定方法又可以分为绑定到对象的方法和绑定到类的方法。

在类中没有被任何装饰器修饰的方法就是 绑定到对象的方法,这类方法专门为对象定制。

speak即为绑定到对象的方法,这个方法不在对象的名称空间中,而是在类的名称空间中。

通过对象调用绑定到对象的方法,会有一个自动传值的过程,即自动将当前对象传递给方法的第一个参数(self,一般都叫self,也可以写成别的名称);若是使用类调用,则第一个参数需要手动传值。

类中使用 @classmethod 修饰的方法就是绑定到类的方法。这类方法专门为类定制。通过类名调用绑定到类的方法时,会将类本身当做参数传给类方法的第一个参数。

输出

<class '__main__.Operate_database'>
192.168.0.5:3306 abc/123456

通过对象也可以调用,只是默认传递的第一个参数还是这个对象对应的类。

在类内部使用 @staticmethod 修饰的方法即为非绑定方法,这类方法和普通定义的函数没有区别,不与类或对象绑定,谁都可以调用,且没有自动传值的效果。

简而言之,非绑定方法就是将普通方法放到了类的内部。

假设我们现在有一个需求,需要让Mysql实例化出的对象可以从文件settings.py中读取数据。

如果函数体代码需要用外部传入的类,则应该将该函数定义成绑定给类的方法

如果函数体代码需要用外部传入的对象,则应该将该函数定义成绑定给对象的方法

如果函数体代码既不需要外部传入的类也不需要外部传入的对象,则应该将该函数定义成非绑定方法/普通函数

本文:Python中类和对象的绑定及非绑定方法是什么的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:C语言执行程序时遇到的常见问题如何解决下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18