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

函数和方法的区别

如何区分函数和方法

正在回答

3 回答

如果你定义了一个函数:bar(self, a, b, c)

你可以直接调用,注意self参数也要传:

bar(obj, 1, 2, 3)


如果你把bar函数绑定到对象,你可以在对象上调用:

foo.bar(1, 2, 3)

注意self参数不能传也不让你传,由解释器自动传入foo对象


可以直接在class中定义方法,这样每个实例自动绑定了该方法

也可以在运行期给实例绑定方法,两种方式都是等价的,因为python解释器只不过把class的定义翻译成“给实例绑定方法”的代码

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

python中,函数(方法)并不是依附与类才能存在。函数并不只是在类中定义。这种直接在模块中而不是类中定义的函数(方法),叫做函数。

而 方法(method),是依附于类 的,他们定义在类中,是属于类的,但是他们本质上,还是一个函数。方法的第一个参数不一定必须是self。

这么说吧,凡是def foo()这种,都是函数,在类中定义的函数,就是方法。

总结:

方法:类内普通方法,类方法

函数:普通函数,类内的静态方法


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

我的理解,函数就是方法。

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

举报

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

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

进入课程

函数和方法的区别

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