DEV Community

Kelvin Amoaba
Kelvin Amoaba

Posted on

1 1

Understanding Python Functions

Well, let's dive straight into it.

Functions are blocks of code written to perform a particular task. Well, this definition is quite simple and straightforward. This simply means, your functions should do only one thing.

Defining Functions In Python

To create a function, python provides a special keyword, def. This keyword is used in combination with a user defined name you give to the function. Let's take a look

def name_of_function():
   # function block
Enter fullscreen mode Exit fullscreen mode

Every function should have a name, but not every name is allowed because some are reserved by Python itself.

Inside the function block is where you write what the function should do when called.

Parameters

When writing a function, you can define parameters that you want the function to take in.

A parameter is used to represent data you want as input to the function

Parameters are defined inside the parenthesis in the function definition.

Example, let's say you want to write a function that adds two numbers, we will name the function, add.

def add(a, b):
    print(a + b)
Enter fullscreen mode Exit fullscreen mode

In the above example, the function add has two parameters, a and b which we are using to represent the two numbers we will pass in.

Calling Functions

Once a function is written, then it must be used somewhere. I mean, I'm not sure you will write a function without the intention of using it 😅

To use a function, you call the function with its name.

def add(a, b):
    print(a + b)

add(2, 4)
Enter fullscreen mode Exit fullscreen mode

From the above example, we called the function with it's name and passed in the parameters it requires.
Suppose the function had no parameters, you will just call it with its name and the brackets. add()

Parameters and Arguments - Revisited

In the above section, I explained what parameters are. Reiterating, a parameter is used to represent data you want to pass as input to a function.

When calling a function that has some parameters, the actual values you pass in to that function are called the Arguments.

Let's go over the example again

def add(a, b):
    print(a + b)

add(2, 4)
Enter fullscreen mode Exit fullscreen mode

When we were defining the functions, we passed a, b inside the brackets, those are called the function parameters.

The real/actual values we pass to the function when calling it are what we call the arguments. In our "add" example, "2" and "4" are the arguments.

Arguments are also called "Actual Parameters" and the parameters specified in the function definition are called "Formal Parameters"

Parameters are specified in the function definition and arguments are the values passed into the function when calling it

Types of Functions

There are two types of functions in Python:

  • User-Defined Functions: These are the functions you create, like the "add" function we defined. You choose the name and define what it does.

  • Built-In Functions: Python comes with a collection of pre-made functions that perform common tasks. These are functions like print(), len(), and input(), which are available for you to use without defining them yourself. Built-in functions save you time and effort, as they are already part of the Python language.

To conclude, functions are really powerful and understanding it will really be important in your programming journey.
Here are some importance of functions:

  • Improving code reusability: Once a function is defined, it can be used over and over and over again.

  • Code Organisation: It helps to divide the large programs into small groups to read the code and debug it faster and better.

  • Functions can be shared and used by other programmers.

👋 While you are here

Reinvent your career. Join DEV.

It takes one minute and is worth it for your career.

Get started

Top comments (0)

The Most Contextual AI Development Assistant

Pieces.app image

Our centralized storage agent works on-device, unifying various developer tools to proactively capture and enrich useful materials, streamline collaboration, and solve complex problems through a contextual understanding of your unique workflow.

👥 Ideal for solo developers, teams, and cross-company projects

Learn more

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay