Python ProgrammingPython Programming

Class method decorator with self arguments in Python

def check_authorization(f):
    def wrapper(*args):
        print('Inside wrapper function argement passed :', args[0].url)
        return f(*args)
    return wrapper


class Client(object):
    def __init__(self, url):
        self.url = url

    @check_authorization
    def get(self):
        print('Inside get function argement passed :', self.url)


Client('Canada').get()
Output
Inside wrapper function argement passed : Canada
Inside get function argement passed : Canada