DEV Community

Sakthivel V
Sakthivel V

Posted on

Python Functions

Functions:

  • Functions in Python are blocks of code that perform a specific task.
  • They help us avoid repeating code and make programs easier to read and maintain.

Functions with parameter:

A function that takes input values (parameters).
Ex:

def greet(name):
    print("Hello", name)

greet("Sakthi")
Enter fullscreen mode Exit fullscreen mode

Function Without Parameters:

  • A function that doesn’t take any input. Ex:
def greet():
    print("Hello, welcome to Python!")

greet()
Enter fullscreen mode Exit fullscreen mode

Function With Return Value:

  • A function can return a result using the return keyword. Ex:
def add(a, b):
    return a + b

result = add(5, 3)
print("Sum is:", result)
Enter fullscreen mode Exit fullscreen mode

Function With Optional Parameter

  • We can give parameters a default value. If no value is passed, the default is used. Ex:
def greet(name="Guest"):
    print("Hello", name)

greet("Sakthi")
greet()
Enter fullscreen mode Exit fullscreen mode

Function With Variable Length Parameters

  • Sometimes we don’t know how many arguments will be passed. We can use (*args)
def numbers(*args):
    total = 0
    for num in args:
        total += num 
    print("Sum is:", total)

numbers(1, 2, 3, 4, 5)
Enter fullscreen mode Exit fullscreen mode

Practice problems:

data = "John,30,40,50,60\nDave,10,20,30,45,50\nAdam,40,95,87,67,50"
total, pass / fail, average, rank

data = "John,30,40,50,60,70\nDave,10,20,30,45,50\nAdam,40,95,87,67,50"

students = data.split("\n")

for std in students:

    record = std.split(",")

    name = record[0]
    total = 0
    result = "Pass"

    for i in range(1, len(record)):

        mark = int(record[i])
        total += mark

        if mark < 36:
            result = "Fail"

    avg = total / 5

    record.append(total)
    record.append(avg)
    record.append(result)

    print(record)
Enter fullscreen mode Exit fullscreen mode

Calculator with variable length arguments, and return values

def add(*args):
    total = 0

    for i in args:
        total = total + i

    return total


def sub(*args):
    total = args[0]

    for i in range(1, len(args)):
        total = total - args[i]

    return total


def mul(*args):
    total = 1

    for i in range(1, len(args)):
        total = total * args[i]

    return total


def div(*args):
    total = args[0]

    for i in range(1, len(args)):
        total = total / args[i]

    return total


def floor_div(*args):
    total = args[0]

    for i in range(1, len(args)):
        total = total // args[i]

    return total


def mod(*args):
    total = args[0]

    for i in range(1, len(args)):
        total = total % args[i]

    return total


def power(*args):
    total = args[0]

    for i in range(1, len(args)):
        total = total ** args[i]

    return total


print("Addition:", add(1, 2, 3, 4))
print("Subtraction:", sub(10, 2, 3))
print("Multiplication:", mul(2, 3, 4))
print("Division:", div(100, 2, 5))
print("Floor Division:", floor_div(100, 3, 2))
print("Modulus:", mod(10, 3))
print("Power:", power(2, 3, 2))
Enter fullscreen mode Exit fullscreen mode

Top comments (0)