AI Basics with AK

Season 02 - Introduction to Python Programming

Arun Koundinya Parasa

Episode 12

LAMBDA FUNCTIONS

Topics for this Episode

  • Regular Function vs Lambda function
  • Use of Lambda Functions

Regular Function vs Lambda

def my_firstfunction():
  print("My First Function")


my_firstfunction()
My First Function

A Python lambda function is an anonymous function expressed as a single statement. You can use it instead of a normal tiny function.

my_firstfunction = lambda : print("My First Function")
my_firstfunction()
My First Function
def sum_of_numbers(num1,num2):
  total = num1 + num2
  return total

sum_of_numbers(30,70)
100
sum_of_numbers = lambda x, y: x + y
sum_of_numbers(30,70)
100
def area_of_circle(radius):
  return 3.14 * radius ** 2

area_of_circle(3)
28.26
area_of_circle = lambda radius :  3.14 * radius ** 2
area_of_circle(3)
28.26
def sum_of_n_numbers(n):
  if n == 0:
    return 0
  else:
    return n + sum_of_n_numbers(n-1)

sum_of_n_numbers(4)
10
sum_of_n_numbers = lambda n : 0 if n == 0 else n + sum_of_n_numbers(n-1)
sum_of_n_numbers(4)
10

Regular Function vs Lambda - Continued

def is_even(num):
  return num % 2 == 0

print("UsingFunction:",is_even(4))
is_even = lambda num: num % 2 == 0
print("Using_LambdaFunction:",is_even(4))
UsingFunction: True
Using_LambdaFunction: True
def my_sum(*args):
  total = 0
  for num in args:
    total = total + num
  return total

print(my_sum(1, 2, 3, 4, 5))
print(my_sum(30,60))
15
90
def my_sum(num1=2,num2=3,*args):
  total = num1+num2
  for num in args:
    total = total + num
  return total

print(my_sum())
print(my_sum(1, 2, 3))
print(my_sum(5*6))
print(my_sum(5*6,0))
5
6
33
30
def my_sum(num1=2,num2=3,*args):
  total = num1+num2+sum(args)
  return total

print(my_sum())
print(my_sum(1, 2, 3))
print(my_sum(5*6))
print(my_sum(5*6,0))
5
6
33
30

Regular Function vs Lambda - Continued

my_sum = lambda num1=2,num2=3,*args: num1+num2+sum(args)
print(my_sum())
print(my_sum(1, 2, 3))
print(my_sum(5*6))
print(my_sum(5*6,0))
5
6
33
30
def squared(numbers):
  squared_list = []
  for num in numbers:
    squared_list.append(num ** 2)
  return squared_list

numbers = [1, 2, 3, 4, 5]
print(squared(numbers))
[1, 4, 9, 16, 25]
[num**2 for num in numbers]
[1, 4, 9, 16, 25]
squared = lambda numbers: [num ** 2 for num in numbers]
print(squared(numbers))
[1, 4, 9, 16, 25]

Lambda Functions

  • Syntax: lambda arguments: expression

  • No Explicit Return Statements

  • Limitation : Logic/Control Statement often has to be simple i.e.; one line.

  • How often used:

    - Very Often used especially while performing data manipulation activations. Especially using higher order functions like `map`,`filter` and `reduce`. { Which we will learn in next episode}
    
    - When there are multiple rows while performing data manipulation we can use lambda functions instead of creating explicit functions.

Thank You

Open In Colab