VOOZH about

URL: https://dev.to/sakthivenkat/function-in-python-3pdo

⇱ Python Functions - DEV Community


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")

Function Without Parameters:

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

greet()

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)

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()

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)

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)

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))