method 学编程傻傻分不清什么是方法和函数(function)?( 二 )


若以 inspect 库的两个函数为判断依据,则 Python 中的“方法与函数”具有一定的狭义性 。在判断什么是函数时,它们并不把内置函数计算在内 。同时,在判断什么是方法时,并非定义在类内部的都算,而是只有类方法及绑定了实例的实例方法才算是“方法” 。
也许你会说,inspect 的两个判断函数并不足信,内置函数也应该算是“函数”,类里面的所有方法都应该算是“方法” 。
我承认这种说法在广义上是可接受的,毕竟我们一直叫的就是“XX函数”、“XX方法”嘛 。
但是,理论和广义概念只是方便人们的沟通理解,而代码实现才是本质的区别 。也就是说,Python 在实际区别“方法与函数”时,并不是文中开头的简单说法,还有更多的细节值得关注 。
看完本文,你有什么想法呢?欢迎一起交流 。




推荐阅读