52 - 判断调用的是函数还是方法
原创
©著作权归作者所有:来自51CTO博客作者小小猿若尘的原创作品,请联系作者获取转载授权,否则将追究法律责任
如何区分调用的是函数还是方法
class MyClass():
def process(self):
pass
def process():
pass
print(type(MyClass().process).__name__ == 'method')
print(type(process).__name__ == 'function')
True
True
MyClass.process False
MyClass.process True
from types import MethodType, FunctionType
'''
函数: FunctionType
方法: MethodType
'''
print('MyClass.process ', isinstance(MyClass().process, FunctionType))
print('MyClass.process ', isinstance(MyClass().process, MethodType))
print('process ', isinstance(process, FunctionType))
print('process ', isinstance(process, MethodType))
MyClass.process False
MyClass.process True
process True
process False
53 - @classmethod 和@staticmethod 的用法和区别