Python中绑定与未绑定的类方法用法分析

 更新时间:2016年04月29日 11:04:05   作者:阿涵-_-  
这篇文章主要介绍了Python中绑定与未绑定的类方法用法,结合实例形式分析了未绑定的类方法与绑定的实例方法相关使用技巧,需要的朋友可以参考下

本文实例讲述了Python中绑定与未绑定的类方法。分享给大家供大家参考,具体如下:

像函数一样,Python中的类方法也是一种对象。由于既可以通过实例也可以通过类来访问方法,所以在Python里有两种风格:

未绑定的类方法:没有self

通过类来引用方法返回一个未绑定方法对象。要调用它,你必须显示地提供一个实例作为第一个参数。

绑定的实例方法:有self

通过实例访问方法返回一个绑定的方法对象。Python自动地给方法绑定一个实例,所以我们调用它时不用再传一个实例参数。

两种方法都是对象,它们可以被传递、存入列表等待。两者运行时都需要一个实例作为第一参数(妤一个self值),但当通过一个实例调用一个绑定方法时Python自动会提供一个。例如我们运行如下的代码:

class Test:
  def func(self,message):
    print message
object1=Test()
x=object1.func
x('绑定方法对象,实例是隐含的')
t=Test.func
t(object1,'未绑定的方法对象,需要传递一个实例') 
#t('未绑定的方法对象,需要传递一个实例') #错误的调用

object1=Test()生成一个实例,object1.func返回一个绑定的方法,把实例object1和方法func绑定。

而Test.func是用类去引用方法,我们得到一个未绑定的方法对象。要调用它就得传一个实例参数,如t(object1,'未绑定的方法对象,需要传递一个实例') 。

大多数时候,我们都直接调用方法,所以一般不会注意到方法对象。但是如果开始写通用的调用对象的代码时,需要特别仔细地注意未绑定方法,它们需要地传一个实例参数。

更多关于Python相关内容可查看本站专题:《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • 安装PyTorch的详细过程记录

    安装PyTorch的详细过程记录

    PyTorch是一个基于Python的科学计算框架,用于进行深度学习相关研究,下面这篇文章主要给大家介绍了关于安装PyTorch的详细过程,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • 基于Pydantic封装的通用模型在API请求验证中的应用详解

    基于Pydantic封装的通用模型在API请求验证中的应用详解

    这篇文章主要介绍了基于Pydantic封装的通用模型在API请求验证中的应用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2023-05-05
  • Python使用combinations实现排列组合的方法

    Python使用combinations实现排列组合的方法

    今天小编就为大家分享一篇Python使用combinations实现排列组合的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • numpy中的log和ln函数解读

    numpy中的log和ln函数解读

    这篇文章主要介绍了numpy中的log和ln函数解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • python 通过exifread读取照片信息

    python 通过exifread读取照片信息

    这篇文章主要介绍了python 如何通过exifread读取照片信息,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • python读取oracle函数返回值

    python读取oracle函数返回值

    这篇文章主要介绍了python读取oracle函数返回值的相关资料,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • 使用Flask开发RESTful API的方法实现

    使用Flask开发RESTful API的方法实现

    RESTful API是一种基于REST架构风格设计的Web服务接口,本文主要介绍了使用Flask开发RESTful API的方法实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • 浅谈Python中对象是如何被调用的

    浅谈Python中对象是如何被调用的

    本文主要介绍了浅谈Python中对象是如何被调用的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Python练习之读取XML节点和属性值的方法

    Python练习之读取XML节点和属性值的方法

    这篇文章主要介绍了Python练习之读取XML节点和属性值的方法,通过parse函数可以读取XML文档,该函数返回ElementTree类型的对象,通过该对象的iterfind方法可以对XML中特定节点进行迭代
    2022-06-06
  • Python数据处理-导入导出excel数据

    Python数据处理-导入导出excel数据

    这篇文章主要介绍了Python数据处理-导入导出excel数据,Python的一大应用就是数据分析了,而数据分析中,经常碰到需要处理Excel数据的情况。这里做一个Python处理Excel数据的总结,需要的小伙伴可以参考一下
    2022-01-01

最新评论