In the last post introducing Python, I demonstrated how to make a simple app using variables and conditional statements. In order to do anything really powerful in a given programming language though, you need to understand functions! In this post, weâ€™ll discuss the Python function call.
What is a Python function call?
Before we look at how to call a function in Python, we first need to familiarize ourselves with the concept.
Also read:Â Best online Python courses
Functions are used throughout programming as a way to group certain tasks together. This becomes useful in a variety of circumstances, particularly when a repetitive task needs to be carried out multiple times.
Functions are used throughout programming as a way to group certain tasks together.
For example, if you built an app that drew hundreds of triangles on the screen to generate a kaleidoscopic effect, you could do this in one of two ways:
- Without functions: by repeatedly writing the code to draw a triangle with.
- With a Python function call: by generating lots of coordinates and feeding them to your â€œdraw triangleâ€� function.
The latter is far more efficient, requires less code, and is generally the preferred method. Not only that, but if you ever decide you want to draw squares instead of triangles; you could change just a few lines of code and the entire output would be different!
One more benefit of using functions is that they are modular and portable. If you write another program with a triangle in it, you can just copy and paste your triangle code wholesale!
Python call function example
Here is an extremely simple example of a Python function that will print â€œHello World!â€� onto the screen:
def HelloPrint(): Â Â Â print("Hello World!") Â Â Â return; HelloPrint()
That is how to define a function in Python and call it!
The function here is called HelloPrint. First we â€œdefineâ€� this function with the def statement, then we place any code we want to be a part of it directly beneath. The return statement simply instructs the interpreter to return to whatever point in the code it was at before it carried out the function.
Note that Iâ€™ve capitalized each word in my function name. This is a good practice as it helps to distinguish a Python function call from statements.
Now, any time we want to say â€œHello World!â€� we can simple write HelloPrint() and it will happen!
def HelloPrint(): Â Â Â print("Hello World!") Â Â Â return; HelloPrint() HelloPrint()
Run this code and youâ€™ll now see the â€œHello World!â€� message appear twice!
Because this code is grouped separately, it wonâ€™t run until you use the Python function call. That also means that this code will do the precise same thing:
def HelloPrint(): print("Hello World!") return; HelloPrint() HelloPrint()
This also means you should be able to figure out how to call a function from another function:
def GreetingsPrint(): print("Hello World!") NiceDayToday() return; def NiceDayToday(): print(â€œNice day today, isnâ€™t it!â€�) return; GreetingsPrint()
And that, in a nutshell, is how to call a function in Python! But we still havenâ€™t tapped into the real power of Python functions yet!
How to pass information to a Python function call
While functions are useful for performing repetitive tasks, their real power lies in the ability to give and receive data. This is what those little brackets are for: they allow us to call a function in Python while also passing in data.
For example, the following code will say â€œHello Adamâ€�:
def SayHello(Name): print(â€œHello â€� + Name) return; SayHello(â€œAdamâ€�)
This is means that the same function can perform slightly different actions depending on the variables we give it.
How to manipulate data
Even more useful though, is the ability of a function to transform data.
To do this, we need to pass information into the function, perform an action, and then return that information.
Hereâ€™s one way that we might perform this with a Python functional call:
def Multiplier(Number): return = Number * 10; print(Multiplier(5))
Here, the output will be â€œ50â€� because the number 5 is passed with the Python function call, which returns that value multiplied by 10. Notice how we can write the Python function call just as though it were the name of an integer itself. This allows for very rapid and flexible coding!
There are countless ways we can use this feature. Here is another little example that requires just three lines of code:
def Counter(Name): return len(Name); NamePlease = input("Name length counter! Enter your full name ") print(Counter(NamePlease))
This little app is a â€œname length counter.â€� This uses the len statement from Python, which returns an integer based on the length of a string. So, this fun app can tell you how many characters are in your name!
Thatâ€™s including spaces but hey, no one is perfect.
Now you know how to use a Python function call! This opens up a world of possibilities, but donâ€™t stop there!