课程
/后端开发
/Python
/python进阶
看不懂哈,函数和方法这里有区别?
2015-03-08
源自:python进阶 4-9
正在回答
问题: p1.get_grade 为什么是函数而不是方法
问题给出的代码是正确的可以通过的,只是给个例子让你区分p1.get_grade是函数还是方法。
print p1.get_grade
# => at 0x7fc09f505578> # p1.get_grade 调用的是函数,返回的是一个函数对象
print p1.get_grade()
# => A # p1.get_grade() 才是方法调用,返回的是函数返回的结果。
python中,函数(方法)并不是依附与类才能存在。函数并不只是在类中定义。这种直接在模块中而不是类中定义的函数(方法),叫做函数。
而 方法(method),是依附于类 的,他们定义在类中,是属于类的,但是他们本质上,还是一个函数。方法的第一个参数不一定必须是self。
这么说吧,凡是def foo()这种,都是函数,在类中定义的函数,就是方法。
总结:
方法:类内普通方法,类方法
函数:普通函数,类内的静态方法
痕六
小二百 回复 痕六
Maxmengt 回复 小二百
Maxmengt 回复 痕六
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计