绑定与方法调用

  • 在 Python 中,如果用实例去调用方法,这种限制就被称为 Python中的绑定(binging)。没有创建实例时,方法就是未绑定的。本次的任务就是让学习者理解什么是绑定,并学会如何调用方法。

相关知识

调用绑定方法

  • 在定义方法时,self总是作为第一个参数传递的。self代表实例本身,self.变量代表调用此实例的变量,self.方法代表调用实例的方法。因为声明方法时已经传入self,所以在调用时self就不用明确传入了,此时实例是隐含的。调用绑定方法的代码如下:
class bindExample:def bindMethod(self):print("绑定方法调用实例")
be = bindExample()
be.bindMethod()

调用非绑定方法

  • 当调用非绑定方法的时候,因为没有创建实例,所以需要用类去调用方法。在调用的时候需要显式地传入一个实例参数。例如:
class bindExample:def bindMethod(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文件中的创建实例与调用方法部分,具体要求如下:

  1. 填入创建f\fractionSum的实例fs的代码;
  2. 填入调用f\fractionSumtest类中dcall方法的代码,计算当n为偶数时计算的和;
  3. 填入调用f\fractionSumtest类中dcall方法的代码,计算当n为奇数时计算的和。

测试说明

  • 本关涉及的代码文件f\fractonSum.py的代码框架如下:
import f\fractionSumtest
# 请在下面填入创建f\fractionSum的实例fs的代码
########## Begin #################### End ##########
n = int(input())
if n % 2 == 0:# 请在下面填入调用f\fractionSumtest类中dcall方法的代码,计算当n为偶数时计算的和########## Begin #################### End ##########
else:# 请在下面填入调用f\fractionSumtest类中dcall方法的代码,计算当n为奇数时计算的和########## Begin #################### End ##########
print(sum)

测试说明

本文的测试文件是f\fractionSumtest.py,具体测试过程如下:

  1. 平台自动编译生成f\fractionSumtest.exe;
  2. 平台运行f\fractionSumtest.exe,并以标准输入方式提供测试输入;
  3. 平台获取f\fractionSumtest.exe输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。

预期输入:

5

预期输出:

1.5333333333333332

预期输入:

8

预期输出:

1.0416666666666665

上代码:

如果注释理解有误,请大佬们多多评论指教!!

Python——绑定与方法调用相关推荐

  1. EduCoder-Linux与Python编程2021(类的基础语法)- 第3关:绑定与方法调用

    任务描述 在 Python 中,如果用实例去调用方法,这种限制就被称为 Python 中的绑定(binging).没有创建实例时,方法就是未绑定的.本关的任务就是让学习者理解什么是绑定,并学会如何调用 ...

  2. 奇怪,有的Python函数或方法调用需要两对括号?

    本文源自于一位读者的问题:为啥有的函数或方法调用要使用两对括号呢? 但是在我的印象里并没有这种用法啊.于是我简单扫了一眼代码,发现这位朋友说的并不是函数调用需要两对括号,而是使用元组做函数或方法的参数 ...

  3. java 方法绑定_java 方法调用绑定

    将一个方法调用同一个方法主体关联起来被称为绑定. 若在程序执行前期进行绑定(如果有的话,由编译器和连接程序实现),叫做前期绑定. 当编译器只有一个引用时,它无法知道究竟调用哪个方法才对,解决的办法就是 ...

  4. python类中方法调用自己类的方法_python 类中方法总结 --- 实例方法、类方法、静态方法...

    在python的类语法中,可以出现三种方法,具体如下: (1)实例方法 1)第一个参数必须是实例本身,一般使用[self]表示. 2)在实例方法中,可以通过[self]来操作实例属性,[类名]来操作类 ...

  5. python类中方法调用自己类的方法_python怎么调用类方法

    python中的类用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 要想调用类中的方法,首先要定义一个类,python中定义类使用class关键字 ...

  6. python类内部方法调用_python如何调用类中的方法

    调用同一个类中的方法 首先类中的方法在定义的时候需要先加参数self,例如:def SaveData(self,ip): print(ip)如果无self参数则不能在同一个类中调用(之前一直在这里犯错 ...

  7. python常用字符串方法调用语法_Python3常用的字符串方法

    判断是否全是字母 "python".isalpha() # 返回True "2python".isalpha() # 返回False 根据分隔符分割字符串 a ...

  8. Python之方法调用

    Python中类的方法有两种形式: 1.绑定方法和非绑定方法 绑定的概念主要与方法调用相关联,方法是类内部定义的函数(这意味着方法是类属性而不是实例属性),方法只有在其所属的类拥有实例时,才能被调用, ...

  9. python方法调用方法_Python之方法调用

    Python中类的方法有两种形式: 1.绑定方法和非绑定方法 绑定的概念主要与方法调用相关联,方法是类内部定义的函数(这意味着方法是类属性而不是实例属性),方法只有在其所属的类拥有实例时,才能被调用, ...

最新文章

  1. 微软的日历控件为什么从1753年开始?Sqlserver数据库不能插入1753年之前的数据?...
  2. 为什么你今年的去哪儿产品经理面试挂了?
  3. 时间序列研(part7)--单位根检验
  4. 如何使用Spring初始化程序创建Spring Boot项目
  5. Java逆向基础之AspectJ的获取成员变量的值
  6. MongoDB实战(11)Sharding 分片(上)
  7. Android Studio failed to resolve:com.android.support.appcompat-v7:28+ 报错
  8. 短视频聚合直播app源码/软件系统开发方案
  9. 自然语言处理(NLP)
  10. linux安装rmp格式文件,在CentOS Linux上使用yum、dnf和rpm安装RPM文件(Packages)
  11. DGM: A deep learning algorithm for solving partial differential equations
  12. 一个骗人的恶劣网站: GPS 定位好友 的传说 ( 其中一个域名是 ipl38.com 诈骗:利用手机号码GPS卫星追踪你的他(她)在什么位置
  13. 人工智能AI实训平台
  14. 牛客练习赛46-华华跟奕奕玩游戏(期望+逆元)
  15. 用js代码实现四位验证码
  16. ALM算法(增广拉格朗日法)
  17. linux tar压缩排除某个文件夹
  18. mac 时间机器备份慢? 首次备份限速解除!
  19. 自然语言处理将彻底改变企业的业务
  20. Elastic 今日在纽交所上市,股价最高暴涨122%。

热门文章

  1. 100%BIM学员的疑惑:不会CAD可以学Revit吗?
  2. HTML文件自动加入了VBS代码,html病毒:自动注入VBS代码-Ramnit病毒怎么解决!
  3. 【CSAPP】家庭作业2.77~2.97
  4. 第一篇:微信公众平台开发实战Java版之了解微信公众平台基础知识以及资料准备...
  5. Tensorflow学习四---高阶操作
  6. 倒谱基音周期matlab,Matlab基于倒谱和EMD的语音基音周期的提取.doc
  7. 这 10 条河,「贡献」了全球 95% 的海洋塑料污染
  8. 原创-VBA金税盘开票XML生成
  9. 挑战程序设计竞赛(第2版)pdf
  10. 搭建个人网站--域名申请