Day 3 (14 November 2024) : Functions and Lambda Expressions

Day 3 (14 November 2024) : Functions and Lambda Expressions

Python is a versatile and widely-used programming language known for its simplicity and readability. One of its core strengths lies in its ability to define functions easily, allowing developers to break down complex problems into manageable pieces of code. In this article, we will explore Python functions and lambda expressions, their syntax, use cases, and practical examples.


What Are Python Functions?

A function in Python is a reusable block of code that performs a specific task. Functions allow us to organize our code, make it modular, and avoid repetition. Python functions are defined using the def keyword.

Basic Syntax

def function_name(parameters):
    """Docstring explaining the function."""
    # Function body
    return result
        

Example: A Simple Function

def greet(name):
    """Function to greet the user."""
    return f"Hello, {name}!"

print(greet("Alice"))  # Output: Hello, Alice!
        


In this example, the greet function takes one parameter, name, and returns a greeting message. The use of the return statement allows the function to pass the result back to the caller.

Functions with Multiple Parameters

def add_numbers(a, b):
    """Function to add two numbers."""
    return a + b

result = add_numbers(5, 10)
print(result)  # Output: 15
        


Here, the add_numbers function accepts two arguments, a and b, and returns their sum.


Types of Functions

  1. Built-in Functions: Python provides many built-in functions like print(), len(), sum(), etc.
  2. User-defined Functions: These are functions created by the programmer to perform specific tasks.
  3. Anonymous (Lambda) Functions: These are small, unnamed functions defined using the lambda keyword.


Understanding Lambda Expressions

Lambda expressions in Python are small, anonymous functions that are defined using the lambda keyword. They are often used for short, simple operations where defining a full function is unnecessary.

Syntax of Lambda Expression

lambda arguments: expression
        


Lambda functions can have any number of arguments but only one expression. The expression is evaluated and returned when the function is called.

Example: Lambda Function

square = lambda x: x ** 2
print(square(5))  # Output: 25
        


In this example, the lambda function takes a single argument x and returns its square.

Using Lambda with Built-in Functions

Lambda functions are often used with built-in functions like map(), filter(), and sorted() for concise code.

Example 1: Using Lambda with map()

numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x ** 2, numbers))
print(squared_numbers)  # Output: [1, 4, 9, 16, 25]
        


In this example, map() applies the lambda function to each element in the list numbers.

Example 2: Using Lambda with filter()

numbers = [10, 15, 20, 25, 30]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # Output: [10, 20, 30]
        


Here, filter() uses the lambda function to include only even numbers in the result.

Example 3: Using Lambda with sorted()

points = [(2, 3), (1, 2), (4, 1)]
sorted_points = sorted(points, key=lambda x: x[1])
print(sorted_points)  # Output: [(4, 1), (1, 2), (2, 3)]
        


The lambda function is used as a sorting key, sorting the list of tuples based on the second element.


Key Differences Between Functions and Lambda Expressions


Article content

When to Use Lambda Expressions?

Lambda functions are best suited for situations where:

  • You need a small, simple function for a short task.
  • You are using functions like map(), filter(), or sorted().
  • Defining a named function would be overkill for a one-time operation.

However, for more complex logic, user-defined functions are preferred for better readability and maintainability.


Conclusion

Python functions and lambda expressions are essential tools in a developer's toolkit. While functions provide a way to structure code and reuse logic, lambda expressions offer a quick, inline way to handle small tasks. Understanding when and how to use each can greatly enhance the efficiency and readability of your Python code.

Happy coding! 🚀


References:

Santhosh Kumar Ganesan

Lead Software Engineer | Python | C# | VC++ | Integration specialist | Agile | CI/CD | AI/ML Enthusiast | Cross-Platform Developer (Desktop, Mobile, Firmware)

5mo

Nicely presented!

Syed Abdul Asfaan

Webflow & Shopify Website Developer | CEO at Design Plunge | Transforming Businesses Digitally | VP-IT at Pmate Auto LPG | IT Operations Leader | BULK LPG | React Native

6mo

Well written article. Thanks for sharing

To view or add a comment, sign in

More articles by Murali Krishna Badugu

Others also viewed

Explore topics