首页 / 知识
python的调用绑定方法和非绑定方法
2023-11-12 13:39:00
在Python中,如果用实例去调用方法,这种限制就被称为Python中的绑定(binging)。没有创建实例时,方法就是未绑定的。本次的任务就是让学习者理解什么是绑定,并学会如何调用方法。
相关知识
像函数一样,Python中的类方法也是一种对象。由于既可以通过实例也可以通过类来访问方法,所以在Python里有两种风格:
未绑定的类方法:没有self
通过类来引用方法返回一个未绑定方法对象。要调用它,你必须显示地提供一个实例作为第一个参数。
绑定的实例方法:有self
通过实例访问方法返回一个绑定的方法对象。Python自动地给方法绑定一个实例,所以我们调用它时不用再传一个实例参数。
两种方法都是对象,它们可以被传递、存入列表等待。两者运行时都需要一个实例作为第一参数(妤一个self值),但当通过一个实例调用一个绑定方法时Python自动会提供一个。
1.调用绑定方法
在定义方法时,self总是作为第一个参数传递的。self代表实例本身,self.变量代表调用此实例的变量,self.方法代表调用实例的方法。因为声明方法时已经传入self,所以在调用时self就不用明确传入了,此时实例是隐含的。调用绑定方法的代码如下:
classbindExample:
defbindMethod(self):
print("绑定方法调用实例")
be=bindExample()
be.bindMethod()
2.调用非绑定方法
当调用非绑定方法的时候,因为没有创建实例,所以需要用类去调用方法。在调用的时候需要显式地传入一个实例参数。例如:
classbindExample:
defbindMethod(self):
print("非绑定方法调用实例")
be=bindExample()
bindExample.bindMethod(be)
编程要求:
1.本关的测试文件给出了一个类f\fractionSum,此类的作用是当输入一个数n,如果n为偶数,求1/2+1/4+…+1/n的和,如果输入n为奇数,求1/1+1/3+…+1/n的和。
2.在f\fractionSum中,定义了方法peven(self,n)用来求当n为偶数时的结果,定义了podd(self,n)用来求当n为奇数时的结果,定义了dcall(self,fp,n)方法来调用peven与podd两个方法,fp为方法名,最后返回计算结果。
本关的编程任务是补全f\fractionSum.py文件中的创建实例与调用方法部分,具体要求如下:
填入创建f\fractionSum的实例fs的代码;
填入调用f\fractionSumtest类中dcall方法的代码,计算当n为偶数时计算的和;
填入调用f\fractionSumtest类中dcall方法的代码,计算当n为奇数时计算的和。
以上内容为大家介绍了python的调用绑定方法和非绑定方法,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
为何你的Python代码应是扁平与稀疏
为何你的Python代码应是扁平与稀疏的,代码,培训,信息,观察,设计,工具,嵌套,闻闻,程序员,沉思,Python之禅之所以得名,正是由于它那简明扼要的规Python算法定义
Python算法定义,有限,时间,数据,算法,情况,培训,系统,策略,复杂度,步骤,算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的python 命名关键字参数
python 命名关键字参数,位置,参数,名字,培训,关键字,函数,后面,定义,方式,上面,对于关键字参数,函数的调用者可以传入任意不受限制的关键字参python中获取路径的三种方法
python中获取路径的三种方法,工作,代码,情况,培训,下来,路径,文件,也就是,桌面,目录,python中获取路径总结下来分为三种情况:1、获取工作目录如何在python代码中指定保存的文件
如何在python代码中指定保存的文件格式,代码,培训,文件格式,格式,二进制文件,文件,后缀,以上,方法,更多,python指定保存文件格式的方法:1、保python列表有哪些常用方法?
python列表有哪些常用方法?,位置,方法,培训,列表,语法,元素,示例,对象,以上,参数,列表是最常用的Python数据类型,它可以作为一个方括号内的逗Python写完代码怎么用
Python写完代码怎么用,代码,下来,数字,概念,培训,文本,模式,文件,程序,路径,python运行有两种方式,一种是在python交互式命令行下运行;另一种怎么判断Python数字中的偶数
怎么判断Python数字中的偶数,数字,代码,培训,偶数,奇数,以上,语句,结果,更多,内容,python中可以使用“if(num%2)==0”语句判断一个数字是否为Python如何创建对象,有哪些方法
Python如何创建对象,有哪些方法,培训,对象,方法,内容,函数,属性,所在,以上,以下,功能,以下介绍Python创建对象的9种方法。classPoint:def__iniPython静态函数和普通方法的区别
Python静态函数和普通方法的区别,培训,方法,静态,区别,实例,函数,属性,结果,例子,下面,下面通过一个例子,讲解Python静态函数、普通方法、类方怎么把python代码打包
怎么把python代码打包,代码,培训,地址,系统,文件夹,文件,窗口,变量,外部,环境变量,打包Python代码可以使用pyinstaller安装pyinstallerpythonpython怎么定义用户输入
python怎么定义用户输入,培训,字符串,整数,类型,用户,文本,定义,文档,小数点,位数,python中获取用户输入的方法如下:整数输入#!/usr/bin/pytho