Bird
Raised Fist0
Pythonprogramming~5 mins

Function definition and syntax in Python - Time & Space Complexity

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
Time Complexity: Function definition and syntax
O(1)
Understanding Time Complexity

When we write a function, it's important to know how long it takes to run as the input changes.

We want to see how the time grows when we call the function with bigger inputs.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

def greet(name):
    print(f"Hello, {name}!")

user_name = "Alice"
greet(user_name)

This code defines a simple function that prints a greeting message once.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: A single print statement inside the function.
  • How many times: The function runs once, so the print runs once.
How Execution Grows With Input

Explain the growth pattern intuitively.

Input Size (n)Approx. Operations
101
1001
10001

Pattern observation: The number of operations stays the same no matter the input size.

Final Time Complexity

Time Complexity: O(1)

This means the function takes the same amount of time no matter how big the input is.

Common Mistake

[X] Wrong: "The function takes longer if the input name is longer."

[OK] Correct: The function just prints once, so the time does not grow with input size.

Interview Connect

Understanding simple function time helps build a strong base for more complex code analysis.

Self-Check

"What if the function printed each character of the name one by one? How would the time complexity change?"

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