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

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

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

未绑定的类方法:没有self

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

绑定的实例方法:有self

立即学习“Python免费学习笔记(深入)”;

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

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

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

登录后复制

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

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2536499.html

(0)
上一篇 2025年3月5日 23:32:47
下一篇 2025年3月1日 03:54:51

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python实现约瑟夫环问题的方法

    本文实例讲述了python实现约瑟夫环问题的方法。分享给大家供大家参考,具体如下: 题目:0,1,…,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 定义函数f(n,…

    编程技术 2025年3月5日
    200
  • Python判断文本中消息重复次数的方法

    本文实例讲述了python判断文本中消息重复次数的方法。分享给大家供大家参考,具体如下: #coding:gbk”’Created on 2012-2-3从文件中读取文本,并判断文本中形如“message0”、“message123”这样…

    编程技术 2025年3月5日
    200
  • Python过滤列表用法实例分析

    本文实例讲述了python过滤列表用法。分享给大家供大家参考,具体如下: 过滤列表 [mapping-expression for element in source-list if filter-expression] 以 if 开头的是…

    编程技术 2025年3月5日
    200
  • Python实现堆排序的方法详解

    本文实例讲述了python实现堆排序的方法。分享给大家供大家参考,具体如下: 堆排序作是基本排序方法的一种,类似于合并排序而不像插入排序,它的运行时间为O(nlogn),像插入排序而不像合并排序,它是一种原地排序算法,除了输入数组以外只占用…

    2025年3月5日
    200
  • python脚本监控docker容器

    本文实例为大家分享了python脚本监控docker容器的方法,供大家参考,具体内容如下 脚本功能: 1、监控CPU使用率 2、监控内存使用状况 3、监控网络流量 立即学习“Python免费学习笔记(深入)”; 具体代码: #!/usr/b…

    编程技术 2025年3月5日
    200
  • Python松散正则表达式用法分析

    本文实例讲述了python松散正则表达式用法。分享给大家供大家参考,具体如下: Python 允许用户利用所谓的 松散正则表达式来完成这个任务。一个松散正则表达式和一个紧凑正则表达式主要区别表现在两个方面: 1. 忽略空白符。空格符,制表符…

    编程技术 2025年3月5日
    200
  • Python多进程同步简单实现代码

    本文讲述了python多进程同步简单实现代码。分享给大家供大家参考,具体如下: #encoding=utf8from multiprocessing import Process, Lockdef func(lock, a): lock.a…

    编程技术 2025年3月5日
    200
  • python中私有函数调用方法解密

    本文实例讲述了python中私有函数调用方法。分享给大家供大家参考,具体如下: 与大多数语言一样,Python 也有私有的概念: ① 私有函数不可以从它们的模块外面被调用② 私有类方法不能够从它们的类外面被调用③ 私有属性不能够从它们的类外…

    编程技术 2025年3月5日
    200
  • Python对象转JSON字符串的方法

    本文实例讲述了python对象转json字符串的方法。分享给大家供大家参考,具体如下: import jsonclass JSONObject(object): def __init__(self): self.name = ‘Ahan’ …

    编程技术 2025年3月5日
    200
  • 简单学习Python time模块

    本文针对python time模块进行分类学习,希望对大家的学习有所帮助。 一.壁挂钟时间 1.time() time模块的核心函数time(),它返回纪元开始的秒数,返回值为浮点数,具体精度依赖于平台。 >>>impor…

    编程技术 2025年3月5日
    200

发表回复

登录后才能评论