Python之如何判断是函数还是方法?
看他的调用者是谁,如果是类,就需要传入一个参数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培训机构:千锋教育。

相关推荐HOT
更多>>
python ide是什么
python的ide是集成开发环境(IDE,IntegratedDevelopmentEnvironment)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和...详情>>
2023-11-12 21:49:01
如何查看python中的错误
python常见的错误有1.NameError变量名错误2.IndentationError代码缩进错误3.AttributeError对象属性错误4.TypeError类型错误5.IOError输入详情>>
2023-11-12 16:58:58
python if判断在哪写
pythonif结构允许程序做出选择,并根据不同的情况执行不同的操作基本用法比较运算符根据PEP8标准,比较运算符两侧应该各有一个空格,比如:5==3...详情>>
2023-11-12 12:44:37
python中的sum函数怎么用?
python中的sum()函数用来进行求和计算,函数语法为:sum(iterable[,start]),此函数的返回值为计算的结果。函数参数有:iterable--可迭代对象,...详情>>
2023-11-12 11:03:35