Bird
Raised Fist0
Pythonprogramming~10 mins

Function definition and syntax in Python - Step-by-Step Execution

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
Concept Flow - Function definition and syntax
Start
Define function with def
Function name and parameters
Function body indented
Function ends
Call function to run it
Function runs and returns
End
This flow shows how a function is defined with def, given a name and parameters, has an indented body, and then is called to run.
Execution Sample
Python
def greet(name):
    print(f"Hello, {name}!")

greet("Alice")
Defines a function greet that prints a hello message, then calls it with 'Alice'.
Execution Table
StepActionEvaluationResult
1Define function greet with parameter nameNo outputFunction greet created
2Call greet with argument 'Alice'name = 'Alice'Function greet starts
3Execute print inside greetPrints 'Hello, Alice!'Output: Hello, Alice!
4Function greet endsNo return valueBack to main program
💡 Function greet has finished running after printing the message.
Variable Tracker
VariableStartAfter call greet('Alice')Final
nameundefined'Alice'undefined after function ends
Key Moments - 3 Insights
Why do we indent the function body?
Indentation shows which lines belong inside the function, as seen in step 3 where print is indented under greet.
What happens if we call the function without parentheses?
Without parentheses, the function does not run; step 2 shows calling greet() with parentheses runs the function.
Is the variable 'name' available outside the function?
No, 'name' exists only inside the function during step 2 and 3, then disappears after step 4.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of 'name' during step 3?
A'Alice'
Bundefined
CNone
Dgreet
💡 Hint
Check the 'Evaluation' column at step 3 in the execution table.
At which step does the function greet actually run its code?
AStep 2
BStep 3
CStep 1
DStep 4
💡 Hint
Look for the step where the print statement executes in the execution table.
If we remove the parentheses in greet("Alice"), what changes in the execution table?
AError occurs at step 2
BFunction greet runs twice
CFunction greet is defined but never called
DOutput prints twice
💡 Hint
Refer to step 2 where the function call happens with parentheses.
Concept Snapshot
def function_name(parameters):
    indented function body

- Use def to define a function.
- Function body must be indented.
- Call function with parentheses to run it.
- Parameters receive input values.
Full Transcript
This example shows how to define a function in Python using def, give it a name and parameters, write an indented body, and then call it with parentheses to run. The variable inside the function exists only during the function call. Indentation is important to mark the function body. Calling the function without parentheses does not run it.

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