Syed Jafer K

Its all about Trade-Offs

Python – Functions()

Think of a function as a little helper in your code. It’s like a recipe that you can use over and over again.

Instead of writing the same steps every time you cook a dish, you write down the recipe once and follow it whenever you need to make that dish.

In programming, instead of writing the same code over and over, you write a function and use it whenever needed.

Why Do We Need Functions?

Here are some everyday examples to show why functions are awesome:

  1. Reusability:
    • Imagine you love making dosa. You have a great recipe, and every time you want dosa, you follow that recipe.
    • You don’t reinvent dosa each time! Similarly, in programming, if you have a piece of code that works well, you put it in a function and reuse it whenever you need it.
  2. Organization:
    • Think about how a recipe book organizes different recipes. One section for breakfast, another for lunch, etc.
    • Functions help you organize your code into neat sections, making it easier to read and understand.
  3. Avoiding Repetition:
    • Let’s say you need to chop vegetables for several different dishes. Instead of writing down “chop vegetables” each time in every recipe, you have a single “chop vegetables” recipe. In programming, functions help you avoid writing the same code multiple times, reducing mistakes and making your code cleaner.
  4. Simplifying Complex Problems:
    • If you have a big dinner to cook, breaking it down into simpler tasks like chutneys, tiffins, and sweets makes it manageable. In programming, you break a big problem into smaller functions, solve each one, and then combine them.

Let’s say you’re writing a program to convert temperatures from Celsius to Fahrenheit. Without functions, your code might look like this:


# Converting temperatures without functions
celsius1 = 25
fahrenheit1 = (celsius1 * 9/5) + 32
print(f"{celsius1}°C is {fahrenheit1}°F")

celsius2 = 30
fahrenheit2 = (celsius2 * 9/5) + 32
print(f"{celsius2}°C is {fahrenheit2}°F")

celsius3 = 15
fahrenheit3 = (celsius3 * 9/5) + 32
print(f"{celsius3}°C is {fahrenheit3}°F")

This works, but it’s repetitive. Now, let’s add a function:


# Define a function to convert Celsius to Fahrenheit
def celsius_to_fahrenheit(celsius):
    return (celsius * 9/5) + 32

# Use the function to convert temperatures
celsius1 = 25
fahrenheit1 = celsius_to_fahrenheit(celsius1)
print(f"{celsius1}°C is {fahrenheit1}°F")

celsius2 = 30
fahrenheit2 = celsius_to_fahrenheit(celsius2)
print(f"{celsius2}°C is {fahrenheit2}°F")

celsius3 = 15
fahrenheit3 = celsius_to_fahrenheit(celsius3)
print(f"{celsius3}°C is {fahrenheit3}°F")

Some of the examples demonstrating how to use functions to accomplish different tasks.

1. Greet People


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

greet("Alice")
greet("Bob")

2. Adding Two Numbers


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

result = add(5, 3)
print(f"The sum is: {result}")

3. Checking if a Number is Even or Odd

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

print(is_even(4))  # True
print(is_even(7))  # False


4. Finding the maximum of Three numbers


def max_of_three(a, b, c):
    max = None
	if a > b:
		max = a
	else:
		max = b
	
	if max > c:
		return max
	else:
		return c

5. Calculating Factorial of a number


def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

print(factorial(5))  # 120

6. Calculating Area of a Circle


import math

def area_of_circle(radius):
    return math.pi * radius ** 2

print(area_of_circle(5))  # 78.53981633974483