Skip to content

Functions & Lambdas

A function in Python is a reusable block of code that performs a specific task.
It is defined using the def keyword and can accept parameters and return a value.

def function_name(parameters):
# logic
return result

Functions help in:

  • Reusability
  • Better readability
  • Avoiding duplicate code
  • Encapsulating logic

def greet(name, exclaim=False):
ending = "!" if exclaim else "."
return f"Hello {name}{ending}"
def greet(name, exclaim=False):
  • greet → function name
  • name → required parameter
  • exclaim=False → optional parameter with a default value

This is equivalent to a default parameter in C#:

void Greet(string name, bool exclaim = false)

exclaim is a boolean flag that:

  • Controls the behavior of the function
  • Acts like an ON/OFF switch
ValueMeaning
False (default)Normal greeting
TrueExcited greeting

ending = "!" if exclaim else "."

Equivalent long form:

if exclaim:
ending = "!"
else:
ending = "."

return f"Hello {name}{ending}"
  • return sends the result back to the caller
  • f"..." is an f-string (string interpolation)
  • {name} and {ending} insert variable values

greet("Banky")

Output:

Hello Banky.
greet("Banky", True)

Output:

Hello Banky!

A lambda function is:

  • A small, one-line function
  • Anonymous (no name)
  • Used for simple logic
  • Automatically returns a value
lambda arguments: expression

adder = lambda a, b: a + b

Equivalent regular function:

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

Equivalent C# lambda:

Func<int, int, int> adder = (a, b) => a + b;

Equivalent JavaScript arrow function:

const add = (a, b) => a + b;

adder(3, 5)

Output:

8

Scenariodeflambda
Multi-line logic
Complex logic
Readability⚠️
One-line logic⚠️
map / filter usage⚠️

AspectPythonC#
Default parametersYesYes
Evaluation timeFunction definitionCompile time
Mutable defaults⚠️ AvoidSafe
Boolean flagsCommonCommon

Note: Default parameters are safe for immutable types like bool, int, and string.


  1. How do you give a parameter a default value in Python?

    AnswerAssign it in the function definition: `def f(x=0):`
  2. Name the JavaScript feature similar to Python’s lambda.

    AnswerArrow functions.
  3. What is the difference between def and lambda?

    Answer`def` is used for multi-line, named functions with complex logic, while `lambda` is for short, anonymous, one-line expressions.

  • def defines reusable functions in Python
  • Default parameters work the same as C# optional parameters
  • exclaim is a boolean flag controlling behavior
  • lambda creates small, one-line anonymous functions
  • Use def for clarity and complex logic
  • Use lambda for short, simple expressions