Python Functions

Define a function with def. Functions can take default, keyword and variable-length arguments.

Python
def greet(name, msg="Good morning"):
    return f"{msg}, {name}!"

print(greet("Asha"))
print(greet(msg="Hello", name="Ravi"))   # keyword arguments
Good morning, Asha! Hello, Ravi!

*args and **kwargs

Python
def total(*nums):
    return sum(nums)

def show(**info):
    for k, v in info.items():
        print(k, "=", v)

print(total(1, 2, 3, 4))
show(city="Pune", pin=411001)
10 city = Pune pin = 411001

Recursion

Python
def fib(n):
    return n if n < 2 else fib(n - 1) + fib(n - 2)

print([fib(i) for i in range(10)])
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

Lambda Functions

Python
students = [("Asha", 88), ("Ravi", 76), ("Meera", 93)]
students.sort(key=lambda s: s[1], reverse=True)
print(students)
print(list(map(lambda x: x * 2, [1, 2, 3])))
[('Meera', 93), ('Asha', 88), ('Ravi', 76)] [2, 4, 6]
Track your progress through the Python course