-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
class MyClass:
def process(self):
pass
def process():
pass
print(type(MyClass().process).__name__ == 'method') ## True 判断是方法
print(type(process).__name__ == 'function') ## True 判断是函数
from types import MethodType,FunctionType
print('MyClass.process:',isinstance(MyClass().process,FunctionType)) ## MyClass.process: False
print('MyClass.process:',isinstance(MyClass().process,MethodType)) ## MyClass.process: True
print('process:',isinstance(MyClass().process,FunctionType)) ## process: False
print('process:',isinstance(MyClass().process,MethodType)) ## process: True
- 通过类型
type
的__name__
判断是方法还是函数 - 通过isinstance函数可以判断调用的是函数还是方法,如果是函数,类型是FunctionType,如果是方法,类型是MethodType。