千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:大连千锋IT培训  >  技术干货  >  python的调用绑定方法和非绑定方法

python的调用绑定方法和非绑定方法

来源:千锋教育
发布人:xqq
时间: 2023-11-07 12:48:39

在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相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

python concat函数有何用法?

2023-11-10

如何使用python实现项目进度显示?

2023-11-10

python复制文件的方法整理

2023-11-10

最新文章NEW

如何实现python中的continue语句?

2023-11-10

python中的冒泡排序是什么?

2023-11-10

python中str函数是什么

2023-11-10

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>