马春杰杰博客
致力于深度学习经验分享!

[mcj]Python未绑定方法

未绑定方法”是Python中的一种调用方式,指的是当Python中使用类来调用类的方法时,由于此时调用方法的不是对象,而是类本身,相当于没有调用者。此时Python不会自动为方法的第一个参数self绑定参数值。因此程序必须显式地为第一个参数self传入方法的调用者。

比如:

此时直接运行会出现这种错误:TypeError: foo() missing 1 required positional argument: 'self'

也就是缺少指定的self参数。如上面所说,此时我们需要显式地指定调用者,即将Bird.foo()改为Bird.foo(b)即可。

这种用法等于b.foo()

或者我们也可以不指定调用者,而是直接传入参数给self,即:Bird.foo(“xxx”),由于在这个程序中我们并没与对self进行操作,因此这里xxx可以填任意数。当我们对self进行操作时,这里填的xxx就会传给self。如:

 

赞(353) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《[mcj]Python未绑定方法》
文章链接:https://www.machunjie.com/program/python/632.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

:smile: :sad: :arrow: :cool: :confused: :cry: :eek: :evil: :exclaim: :idea: :lol: :mad: :mrgreen: :neutral: :question: :razz: :redface: :rolleyes: :surprised: :wink: :biggrin: :twisted: