Python之如何判断是函数还是方法?

2023-12-13 6:51:25 网络知识 匿名

看他的调用者是谁,如果是类,就需要传入一个参数self的值,这时他就是一个函数

如果调用者是对象,就不需要给self传入参数值,这时他就是一个方法

print(isinstance(obj.func,FunctionType))#False

print(isinstance(obj.func,MethodType))#True

classFoo(object):

def__init__(self):

self.name='lcg'

deffunc(self):

print(self.name)

obj=Foo()

print(obj.func)#>

print(Foo.func)#

#------------------------FunctionType,MethodType------------#

fromtypesimportFunctionType,MethodType

obj=Foo()

print(isinstance(obj.func,FunctionType))#False

print(isinstance(obj.func,MethodType))#True

print(isinstance(Foo.func,FunctionType))#True

print(isinstance(Foo.func,MethodType))#False

#------------------------------------------------------------#

obj=Foo()

Foo.func(obj)#lcg

obj=Foo()

obj.func()#lcg

"""

注意:

方法,无需传入self参数

函数,必须手动传入self参数

"""

以上内容为大家介绍了Python之如何判断是函数还是方法?,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:瀚银百科。

发表评论: