Decorator in Python

A decorator is a design pattern in Python that allows a user to add new functionality to an existing object without modifying ...



  • A decorator is a design pattern in Python that allows a user to add new functionality to an existing object without modifying its structure.
  • Decorators are usually called before the definition of a function you want to decorate.
  • This is also called metaprogramming as a part of the program tries to modify another part of the program at compile time.
  • two different kinds of decorators in Python:
    • Function decorators
    • Class decorators



def input_decorator(func):
    def input_number():
        nth_number = int(input("How many number do you want to enter.\n"))
        legal_number = []
        illegal_number = []
        for i in range(nth_number):
            number = input("Enter number : ")
            if float(number)<=0 or '.' in number:
                illegal_number.append(number)
            else:
                legal_number.append(int(number))
        list_of_legal_and_illegal_number = [legal_number,illegal_number]
        return func(list_of_legal_and_illegal_number)
    return input_number


def grouping_decorator(func):
    def numbers_test(args):
        odd = []
        even = []
        prime = []
        composite = []
        for i in args[0]:
            if i%2!=0:
                odd.append(i)
            else:
                even.append(i)
        
        for i in odd:
            if i == 1:
                continue
            elif i==3 or i==5 or i==7:
                prime.append(i)
            else:
                if i%3!=0 and i%5!=0 and i%7!=0:
                    prime.append(i)
                else:
                    composite.append(i)
        for i in even:
            if i==2:
                prime.append(i)
            else:
                composite.append(i)
        composite.sort()
        prime.sort()        
        list_of=[odd,even, prime, composite]
        invalid_number = args[1]
        return func(list_of,invalid_number)


    return numbers_test


@input_decorator
@grouping_decorator
def mean_calculator(args,args1):
    a=','.join(args1)
    print("Invalid numbers : ", a) 
    if not args[0]:
        print('no odd')
    else:
        print("Mean of odd numbers : ",sum(args[0])/len(args[0]))
    if not args[1]:
        print('no even')
    else:
        print("Mean of even numbers : ",sum(args[1])/len(args[1]))
    if not args[2]:
        print('no prime')
    else:
        print("Mean of prime numbers : ",sum(args[2])/len(args[2]))
    if not args[3]:
        print('no composite')
    else:
        print("Mean of composite numbers : ",sum(args[3])/len(args[3]))

mean_calculator()

COMMENTS

Name

Accident Alert,1,AI,2,Array,1,Aurdino,1,C,2,Computer Graphics,9,Data Science,3,Dataset,1,Decoratot,1,Django,1,ESP32,1,Fixed point/iteration method,1,Greater or smaller,1,html,1,Image Processing,1,JAVA,1,Javascript,22,Machine Learning,1,Matlab,3,Numerical Method,13,OOP,1,Other,3,PHP,1,Point operation,1,Python,11,Raspberry pi,1,Recommendation System,1,Regression,1,Reservation System,1,Robotics,1,Simulation,2,sine wave,1,String Handling Function,1,Web scrap,1,Webpage,1,
ltr
item
COMPUTER PROGRAMMING: Decorator in Python
Decorator in Python
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinlRVeoJ82V6cXRH3sBcfHYYCFvtJit11XmI7xr3P4ud4qxdqyYlqY_kI_5Rmtt8tXP1ceHfv5AFg0svCNFHHs_VIv5Pyoa9cqX03LHoP297nE64HXr-pUT_5MuWai36hXroKrN1ZJFXsN/s0/decorator.png
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinlRVeoJ82V6cXRH3sBcfHYYCFvtJit11XmI7xr3P4ud4qxdqyYlqY_kI_5Rmtt8tXP1ceHfv5AFg0svCNFHHs_VIv5Pyoa9cqX03LHoP297nE64HXr-pUT_5MuWai36hXroKrN1ZJFXsN/s72-c/decorator.png
COMPUTER PROGRAMMING
https://computerprogram4ru.blogspot.com/2019/11/decorator-in-python.html
https://computerprogram4ru.blogspot.com/
https://computerprogram4ru.blogspot.com/
https://computerprogram4ru.blogspot.com/2019/11/decorator-in-python.html
true
8672391763020279633
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy