Bird
Raised Fist0
Pythonprogramming~5 mins

Function definition and syntax in Python

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

Functions help us group instructions together to do a specific job. This makes our code easier to read and reuse.

When you want to repeat a task many times without writing the same code again.
When you want to organize your code into small, clear parts.
When you want to give a name to a set of instructions to use later.
When you want to make your program easier to test and fix.
Syntax
Python
def function_name(parameters):
    # code to run
    return result  # optional

Use def to start a function.

Parameters are optional and go inside parentheses.

Examples
A simple function with no parameters that prints a greeting.
Python
def greet():
    print("Hello!")
A function that takes two numbers and returns their sum.
Python
def add(a, b):
    return a + b
A function that takes one parameter and prints it inside a message.
Python
def say_name(name):
    print(f"Your name is {name}.")
Sample Program

This program defines a function to multiply two numbers and then uses it to multiply 4 and 5. It prints the result.

Python
def multiply(x, y):
    result = x * y
    return result

answer = multiply(4, 5)
print(f"4 times 5 is {answer}")
OutputSuccess
Important Notes

Indentation is important in Python to show which code belongs inside the function.

If you don't use return, the function will return None by default.

Summary

Functions group code to do one job.

Use def to create a function with a name and optional parameters.

Use return to send back a result from the function.

Practice

(1/5)
1. What keyword do you use to start defining a function in Python?
easy
A. function
B. define
C. func
D. def

Solution

  1. Step 1: Recall Python function syntax

    In Python, functions are defined using the keyword def.
  2. Step 2: Compare options

    Only def uses the correct keyword def. Others are not valid Python keywords.
  3. Final Answer:

    def -> Option D
  4. Quick Check:

    Function definition starts with def [OK]
Hint: Remember: def starts every function in Python [OK]
Common Mistakes:
  • Using 'function' instead of 'def'
  • Using 'func' or 'define' which are not Python keywords
2. Which of the following is the correct syntax to define a function named greet that takes no parameters?
easy
A. def greet():
B. function greet():
C. def greet[]:
D. def greet:

Solution

  1. Step 1: Check function header syntax

    The correct syntax uses def, function name, parentheses for parameters, and a colon.
  2. Step 2: Validate each option

    def greet(): matches this exactly: def greet():. Others have wrong keywords, brackets, or missing parentheses.
  3. Final Answer:

    def greet(): -> Option A
  4. Quick Check:

    def + name + () + : is correct syntax [OK]
Hint: Function name + () + : after def is always needed [OK]
Common Mistakes:
  • Omitting parentheses after function name
  • Using square brackets instead of parentheses
  • Using 'function' keyword instead of 'def'
3. What will be the output of this code?
def add(x, y):
    return x + y

print(add(3, 4))
medium
A. 7
B. 34
C. TypeError
D. None

Solution

  1. Step 1: Understand function behavior

    The function add takes two numbers and returns their sum.
  2. Step 2: Calculate the return value

    Calling add(3, 4) returns 3 + 4 = 7, which is printed.
  3. Final Answer:

    7 -> Option A
  4. Quick Check:

    3 + 4 = 7 [OK]
Hint: Return sends back the sum; print shows it [OK]
Common Mistakes:
  • Concatenating numbers as strings (getting '34')
  • Forgetting to return value (getting None)
  • Passing wrong number of arguments causing TypeError
4. Find the error in this function definition:
def multiply(a, b)
    return a * b
medium
A. Indentation error in return statement
B. Missing colon at the end of function header
C. Wrong function name
D. Parameters should be in square brackets

Solution

  1. Step 1: Check function header syntax

    The function header must end with a colon (:).
  2. Step 2: Identify missing colon

    The code misses the colon after def multiply(a, b), causing a syntax error.
  3. Final Answer:

    Missing colon at the end of function header -> Option B
  4. Quick Check:

    Function header must end with : [OK]
Hint: Always put : after function header line [OK]
Common Mistakes:
  • Forgetting colon after function header
  • Incorrect indentation of return line
  • Using wrong brackets for parameters
5. You want to write a function is_even that returns True if a number is even, otherwise False. Which is the correct function?
hard
A. def is_even(n): return n % 2
B. def is_even(n): return n / 2 == 0
C. def is_even(n): if n % 2 == 0: return True else: return False
D. def is_even(n): if n % 2: return True else: return False

Solution

  1. Step 1: Understand even number check

    A number is even if remainder when divided by 2 is zero (n % 2 == 0).
  2. Step 2: Evaluate each option

    def is_even(n): if n % 2 == 0: return True else: return False correctly returns True if remainder is zero, else False. def is_even(n): return n / 2 == 0 uses division instead of modulo. def is_even(n): if n % 2: return True else: return False returns True when remainder is non-zero (odd). def is_even(n): return n % 2 returns remainder directly (not boolean).
  3. Final Answer:

    def is_even(n): if n % 2 == 0: return True else: return False -> Option C
  4. Quick Check:

    Use modulo == 0 to check even [OK]
Hint: Use n % 2 == 0 to check even numbers [OK]
Common Mistakes:
  • Using division instead of modulo
  • Returning remainder instead of boolean
  • Confusing condition for even check