为了账号安全,请及时绑定邮箱和手机立即绑定

我觉得你们有的理解不对吧

这道题答案的意思是:

练习题中的 self.get_grade 是函数没错,是函数对象,而self.get_grade() 只是函数调用,不是什么方法。

方法指的是教程中的利用 types.MethodType 得到的self.get_grade,这才是方法,加括号就是方法调用

p1.get_grade = types.MethodType(fn_get_grade, p1, Person)
print p1.get_grade()

所以很明显,方法与类有关,需要传入self (参照教程前半部分),而函数不用传入self

练习题中的self.get_grade() 并没有传入self(你自己到 lambda 后面加一个 self 参数,看看程序会不会报错就知道了),它只是一个简单的函数调用

所以区分方法和函数,就看需不需要传入self (加括号只是代表调用罢了。。)

(以上均为个人观点,如有误,麻烦大佬指出)

正在回答

1 回答

函数

  函数是封装了一些独立的功能,可以直接调用,python内置了许多函数,同时可以自建函数来使用。

方法

  方法和函数类似,同样封装了独立的功能,但是方法是需要通过对象来调用的,表示针对这个对象要做的操作,使用时采用点方法。

  以上是我认同的,如果有不对,请大佬明示

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

我觉得你们有的理解不对吧

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信