true

Learn Python Training from the Best Tutors

• Affordable fees
• 1-1 or Group class
• Flexible Timings
• Verified Tutors

Search in

# Decorator Advanced ( Passing Parameter )

Logeswaran
15/06/2018 0 0

Let see what are the possible ways to utilise the decorators in real time.

Well, here we are going to learn the important 3 parameters passing into the decorator

1) Passing parameter to the decorator
2) passing the function as a parameter to the decorator
3) passing parameter to the function which we are passing to the decorator

DECORATOR FUNCTION - Usually kept hidden from the programmer as part of framework,
and, allow the programmer import this file to use

def moneyConversion(ConvertInto, InvestmentAmount):
moneyValue = {'USD': 61, 'SGD': 55, 'AUD': 51, 'DIRHAM': 18}
def Wrapper(InterstCalculator): #Wrapper is not a keyword, we can have any name for this method
if ConvertInto:
amount = InterstCalculator(InvestmentAmount)
newMoney = {}
for person in amount:
newMoney[person] = amount[person] / moneyValue[ConvertInto]
print newMoney
return Wrapper

InvestmentAmount = {'christ':1000,'Guna':5000, 'Rita': 1500, 'Habib': 3500, 'David': 5000}

interestRate = 6 # 6% (but we are not using this variable anywhere)

# It is our usual function that find the interest(amount*6/100) amount for the investors money
@moneyConversion('USD',InvestmentAmount)
def findInterest(Amount):
interestAmount = {}
for investor in Amount:
interestAmount[investor] = Amount[investor]*6/100
return interestAmount

What can we understand from the above example?

1) @moneyConversion('USD', InvestmentAmount) - This is the way we can pass a parameter to the decorator

2) The function(findInterest) will be passed to the Wrapper function which exists in the decorator
i.e., InterstCalculator = findInterest

3) Finally, we are extending the functionality of find interest into converting the INR to other Currencies

4) Decorator plays an important role in Framework development like Flask, Django, Robot

Framework, etc.,

0 Dislike

## Other Lessons for You

The Zen of Python
Writing programs that actually do what they are supposed to do is just one component of being a good python programmer. It's also important to write clean code that is easily understood, even weeks after...

Shallow And Deep Copying
The difference between shallow and deep copying is only relevant for compound objects (objects that contain other objects, like lists or class instances): A shallow copy constructs a new compound object...

Programming Funds: Data == Information
Commonly, I used to ask this question in my classroom. Most of them will give the answers like: Data means information (or) Information means Data Which is correct? Are both same? Maybe...but not true. Here...

C, C++, JAVA Tutor
* Program to swap two numbers using a temporary variable with each statement explained with comments * #include // headerfile for cout statement using namespace std; //...

What Is PHP?
PHP stands for PHP: Hypertext Preprocessor PHP is a widely-used, open source scripting language PHP scripts are executed on the server PHP is free to download and use PHP files can contain text,...

### Looking for Python Training classes?

Learn from Best Tutors on UrbanPro.

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you
X

### Looking for Python Training Classes?

The best tutors for Python Training Classes are on UrbanPro

• Select the best Tutor
• Book & Attend a Free Demo
• Pay and start Learning

### Learn Python Training with the Best Tutors

The best Tutors for Python Training Classes are on UrbanPro