Functions and lambda expressions

( 15 users )

Functions, like in any programming languages, are the smallest reusable building blocks of an application. In Python, we can declare and define the functions in the following ways.

Basic function implementation

To create a function we use "def" keyword in Python. To call a function simply write the function name followed by opening and closing circular braces.


def foo():
	print("This is foo")

foo()
		

Function with arguments

We can pass any number of arguments to the function.


def bar(x, y)
	print("Sum is ", x + y)
	
bar(3, 5);
		

We can pass default value for the argument of a function. So, if the value is not provided while calling the function, the parameter is initialized with the default value.


def drawLine(length = 10):
	str = ""
	for i in range(0, length):
		str += "_"
	print(str)
		

Calling with no parameter, so value of parameter length will be initialized 10 by default.


drawLine()
		

Here value of parameter length will be initialized as 40.


drawLine(40)
		

We can also use argument name to pass value. This is useful when we dont want to pass parameters in sequence or skipping any default parameter.


drawLine(length=20)
		

Lambda Expressions

Lambda expressions are used create anonymous functions. This is created with "lambda" keyword.


def greeter(val):
  return lambda x: val + x

greet = greeter("Hello ")

print(greet("Alice!"))
print(greet("Bob!"))
		

By expression "lambda x: val + x", we mean that it is a lambda expression (or anonymous function) takes the input "x" and appends it to some string "val".

Recursive function

Recursive function are the function that call themselves in the function body. The necessary requirement of every recursive function is that it must converge to a terminating condition. The following function evaluates the factorial of an input integer.


def factorial(x):

    if x == 1:
        return 1
    else:
        return (x * factorial(x-1))

x = 4
print("The factorial of", x, "is", factorial(x))
		

Python jupyter notebook for code examples

Access Jupyter notebook for this chapter here:
Python Notebook - Functions

To Do

* Note : These actions will be locked once done and hence can not be reverted.

1. Track your progress [Earn 200 points]

2. Provide your ratings to this chapter [Earn 100 points]

0
Control flow statements
Data structures and comprehensions
Note : At the end of this chapter, there is a ToDo section where you have to mark this chapter as completed to record your progress.