import inspect def requires_self(func): func_argc = len(inspect.getfullargspec(func).args) if func_argc == 0 or ( getattr( func, 'im_self', None) is not None) or ( hasattr( func, '__self__')): return False else: return True