Skip to content

RESOURCES / BLOG

What is a Python Function and How Do I Use It?

Hi all,

I’m new to Python and keep hearing about “functions.” I’m working on a project and I want to organize my code better.

Can someone explain what a Python function is, and why I should use functions?

Thanks!

Great question! Understanding Python functions is a key step in writing clean, reusable, and modular code. Let’s break down what functions are, how to define and call them, and some practical examples.

A function is a reusable block of code that performs a specific task. Instead of repeating the same code over and over, you define a function once and call it whenever needed. These aren’t exclusive to Python, they’re a core part of programming.

Functions help:

  • Organize code logically.
  • Reduce repetition.
  • Make code easier to read and maintain.
  • Enable easier testing and debugging.

The syntax is simple:

def function_name(parameters):

    # Code block

    return result  # OptionalCode language: PHP (php)

Example:

def greet(name):

    print(f"Hello, {name}!")

greet("Alice"# Output: Hello, Alice!Code language: PHP (php)

Suppose you often upload images to Cloudinary and want to automate this:

import cloudinary.uploader

def upload_image(file_path, tags=None):

    response = cloudinary.uploader.upload(file_path, tags=tags)

    print(f"Uploaded image URL: {response['secure_url']}")

    return responseCode language: JavaScript (javascript)

Call it like:

result = upload_image('my-photo.jpg', tags=['travel', 'summer'])

Functions can take parameters, inputs that customize their behavior. Parameters can have default values:

def greet(name="Guest"):

    print(f"Hello, {name}!")

greet()          # Hello, Guest!

greet("Alice")   # Hello, Alice!Code language: PHP (php)

In image handling, you might want optional parameters:

def resize_image(image_path, width=800, height=600):

    print(f"Resizing {image_path} to {width}x{height}")

    # Call resizing logic hereCode language: PHP (php)

Functions can return results that you can store or use later:

def add_tags(existing_tags, new_tag):

    updated_tags = existing_tags + [new_tag]

    return updated_tags

tags = ['portrait', 'sunset']

tags = add_tags(tags, 'featured')

print(tags)  # ['portrait', 'sunset', 'featured']Code language: PHP (php)
def process_images(image_paths):

    for img in image_paths:

        print(f"Uploading {img}...")

        upload_image(img, tags=['batch'])

        print(f"Processed {img}")

images = ['img1.jpg', 'img2.jpg', 'img3.jpg']

process_images(images)Code language: PHP (php)
ConceptExampleNotes
Define functiondef func():Use def keyword
Call functionfunc()Executes code inside
Parametersdef func(param):Input values
Default paramsdef func(param=default):Optional inputs
Return valuereturn valueOutputs result

Python functions are the building blocks of any well-structured program. Whether you’re uploading images to Cloudinary, automating metadata tagging, or resizing photos, functions help you write clean, reusable, and maintainable code.

Start Using Cloudinary

Sign up for our free plan and start creating stunning visual experiences in minutes.

Sign Up for Free