python中函数和方法的区别

首先摒弃错误认知:并不是类中的调用都叫方法

看举例看代码

class Foo(object):

    def func(self):
        pass

#实例化
obj = Foo()

# 执行方式一:调用的func是方法
obj.func() #func 方法

# 执行方式二:调用的func是函数
Foo.func(123) # 函数

是的!例子中很明确,类对象调用func是方法,类调用func是函数,并且是自己传递参数123!

最大的区别是参数的传递参数,方法是自动传参self,函数是主动传参

那么以后我们就可以直接看参数是如何传递的,

如果还不确定可以打印类型看看

from types import FunctionType,MethodType
print(isinstance(obj.func,MethodType))    ---># True
print(isinstance(Foo.func,FunctionType))  ---># True           

 ok!判断没错

猜你喜欢

转载自www.cnblogs.com/zzy-9318/p/9192802.html