Understanding Functions in Python

In this Python tutorial, we will discuss, what is a function in Python, Python function syntax, and how to define a function in Python. Also, I will show you how to call a function in Python.

What is a Function in Python?

In Python, a function is a reusable block of code that performs a specific task. Functions allow you to break down your program into smaller, modular chunks. This results in cleaner, more readable code that is easier to maintain and debug.

Syntax of a Function in Python

To define a function in Python, you use the def keyword, followed by the function name, parentheses, and a colon. The code block within a function is indented.

def function_name(parameters):
    # code
    return # optional return statement
  • def: Keyword that informs Python that you’re defining a function.
  • function_name: The name you assign to your function.
  • parameters: Optional. Values you can pass into the function.
  • return: Optional. Use this statement to pass a value back from the function.

How to Define a Function in Python

Let’s create a simple function named greet that prints a greeting message:

def greet(name):
    print(f"Hello, {name}!")

Here, greet is the function name, and name is the parameter it accepts.

How to Call a Function in Python

After defining a function, you can call it by using its name followed by parentheses. You can pass values (arguments) inside these parentheses if the function expects parameters.

Let us see, how we can call the above function.

greet("Alice")  # This will output "Hello, Alice!"

Return Statement

A function can return a value using the return statement. Once a return statement is executed, the function terminates and passes the specified value back to the caller.


def add(a, b):
    sum = a + b
    return sum

result = add(2, 3)  # result will be 5

Real Example of a Python Function

Let us check a complete example of how to define and call a function in Python.

In this example, let’s define a function called greet_names that accepts a list of names and returns a list of personalized greeting messages.

def greet_names(names):
    Create greeting messages for a list of names.

    :param names: A list of names.
    :return: A list of personalized greeting messages.

    # List to store the greeting messages
    greetings = []

    # Loop through each name in the names list
    for name in names:
        # Create a personalized greeting message
        greeting = f"Hello, {name}! Welcome to the USA!"
        # Append the greeting message to the greetings list

    # Return the list of greeting messages
    return greetings

Now, let’s call this function with a list of names and print the personalized greeting messages.

# Define a list of names
names = ["Alice", "Bob", "Charlie", "Diana"]

# Call the function and store the returned greeting messages
greeting_messages = greet_names(names)

# Print each greeting message
for message in greeting_messages:

Now, when you run the above code, you can see the output like in the below screenshot.

how to call a function in Python
how to call a function in Python

Common Built-in Functions

Python provides a host of built-in functions. Here’s a table with some of the commonly used ones:

len(s)Returns the length of an object s.
max(iterable)Returns the largest item in an iterable.
min(iterable)Returns the smallest item in an iterable.
sum(iterable)Returns the sum of all items in an iterable.
type(obj)Returns the type of an object obj.
sorted(iterable)Returns a sorted list of the specified iterable.
round(number, ndigits)Rounds a number to a specified number of decimals.
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)Prints the specified message to the screen.
input(prompt)Allows user input.


In this Python tutorial, I have explained, how to define a function in Python, and how to call a function in Python. Also, we saw a few examples of built-in Python functions.

You may also like: