Skip to main content

decorator in python example

'''

                            Online Python Compiler.
                Code, Compile, Run and Debug python program online.
Write your code in this editor and press "Run" button to execute it.

'''
def anotherFunc():
    print("calling another function from decorator")
   
def deco1(func):
    def inner(*args, **kwargs):
        print("before1")
        # anotherFunc()
        func(*args, **kwargs)
        # func()
        print("after1")
    return inner

def deco2(func):
    def inner(*args, **kwargs):
        print("before2")
        # anotherFunc()
        func(*args, **kwargs)
        # func()
        print("after2")
    return inner



@deco1
@deco2
def testfunc(test1, test2, test3):
    print("Hello World")



   
testfunc("hira", "jira", "sira")


output:
before1                                                                                                                     
before2                                                                                                                     
Hello World                                                                                                                 
after2                                                                                                                      
after1                                                                                                                      

Comments

Popular posts from this blog

Gui logging in node js and python

For node.js Use  frontail for logging https://www.npmjs.com/package/frontail For Python -- use Cutelog https://pypi.org/project/cutelog/ In NodeJs for using frontail we need to use log the logs in a file for logging logs to file , we will use winston Using winston https://www.npmjs.com/package/winston Eg. of using winstonconst { createLogger, format, transports } = require('winston'); const { combine, timestamp, label, prettyPrint } = format; const logger = createLogger({   level: 'info',   format: format.json(),   transports: [     //     // - Write to all logs with level `info` and below to `combined.log`      // - Write all logs error (and below) to `error.log`.     //     new transports.File({ filename: 'error.log', level: 'error' }),     new transports.File({ filename: 'combined.log' })   ] }); logger.log({   level: 'info',   message: 'What time is...