Bird
Raised Fist0
Pythonprogramming~5 mins

Parameters and arguments 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: Parameters and arguments
O(n)
Understanding Time Complexity

When we use parameters and arguments in functions, we want to know how the time to run the function changes as the input changes.

We ask: How does the function's work grow when the input values get bigger or more complex?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

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

user_list = ["Alice", "Bob", "Charlie"]
greet(user_list)

This code defines a function that greets each name in a list by printing a message.

Identify Repeating Operations
  • Primary operation: Looping through each name in the list.
  • How many times: Once for each name in the input list.
How Execution Grows With Input

Explain the growth pattern intuitively.

Input Size (n)Approx. Operations
10About 10 greetings printed
100About 100 greetings printed
1000About 1000 greetings printed

Pattern observation: The work grows directly with the number of names. Double the names, double the greetings.

Final Time Complexity

Time Complexity: O(n)

This means the time to run the function grows in a straight line with the number of input names.

Common Mistake

[X] Wrong: "The function always takes the same time no matter how many names there are."

[OK] Correct: The function does one action for each name, so more names mean more work and more time.

Interview Connect

Understanding how function inputs affect running time helps you explain your code clearly and shows you know how programs behave with different data sizes.

Self-Check

"What if the function called another function inside the loop that also loops over the input list? How would the time complexity change?"

Practice

(1/5)
1. What is the role of parameters in a Python function?
easy
A. They are variables defined outside the function.
B. They are placeholders to receive values when the function is called.
C. They are the actual values passed to the function.
D. They are the output values returned by the function.

Solution

  1. Step 1: Understand what parameters are

    Parameters are names used in the function definition to hold values passed in.
  2. Step 2: Differentiate parameters from arguments

    Arguments are the actual values given when calling the function, parameters receive them.
  3. Final Answer:

    They are placeholders to receive values when the function is called. -> Option B
  4. Quick Check:

    Parameters = placeholders [OK]
Hint: Parameters are names in function definition, not actual values. [OK]
Common Mistakes:
  • Confusing parameters with arguments
  • Thinking parameters are outputs
  • Mixing parameters with global variables
2. Which of the following is the correct way to define a function with two parameters a and b in Python?
easy
A. function my_func(a, b):
B. def my_func[a, b]:
C. def my_func(a, b):
D. def my_func(a b):

Solution

  1. Step 1: Recall Python function syntax

    Functions are defined using def keyword, parameters inside parentheses separated by commas.
  2. Step 2: Check each option

    def my_func(a, b): uses correct syntax: def my_func(a, b):. Others have syntax errors.
  3. Final Answer:

    def my_func(a, b): -> Option C
  4. Quick Check:

    def + (params separated by commas) = correct [OK]
Hint: Use def and parentheses with commas for parameters. [OK]
Common Mistakes:
  • Using square brackets instead of parentheses
  • Omitting commas between parameters
  • Using wrong keywords like 'function'
3. What will be the output of the following code?
def greet(name):
    return f"Hello, {name}!"

print(greet("Alice"))
medium
A. Hello, Alice!
B. Hello, name!
C. greet(Alice)
D. Error: name not defined

Solution

  1. Step 1: Understand the function call

    The function greet takes one parameter name and returns a greeting string with that name.
  2. Step 2: Substitute the argument value

    Calling greet("Alice") passes "Alice" as the argument, so the returned string is "Hello, Alice!".
  3. Final Answer:

    Hello, Alice! -> Option A
  4. Quick Check:

    Argument replaces parameter in output [OK]
Hint: Arguments fill parameters; output shows argument value. [OK]
Common Mistakes:
  • Printing parameter name instead of argument value
  • Confusing function name with output
  • Expecting error due to missing quotes
4. Identify the error in this function call:
def add(x, y):
    return x + y

result = add(5)
medium
A. Missing one argument in the function call.
B. Function name is incorrect.
C. Parameters should be strings.
D. No error, code runs fine.

Solution

  1. Step 1: Check function definition

    The function add requires two parameters: x and y.
  2. Step 2: Check function call arguments

    The call add(5) provides only one argument, missing the second one.
  3. Final Answer:

    Missing one argument in the function call. -> Option A
  4. Quick Check:

    Parameters count must match arguments count [OK]
Hint: Count parameters and arguments; they must match. [OK]
Common Mistakes:
  • Assuming missing arguments default to zero
  • Thinking function name is wrong
  • Ignoring argument count mismatch
5. Consider this function:
def multiply(a, b=2):
    return a * b

print(multiply(4))
print(multiply(4, 3))

What will be the output and why?
hard
A. Error; cannot mix default and non-default parameters.
B. 6 and 12; default parameter is ignored.
C. 8 and 8; default parameter always used.
D. 8 and 12; second argument overrides default parameter.

Solution

  1. Step 1: Understand default parameters

    Parameter b has a default value 2, used if no argument is given.
  2. Step 2: Analyze each function call

    First call multiply(4) uses default b=2, so 4*2=8.
    Second call multiply(4, 3) overrides default with 3, so 4*3=12.
  3. Final Answer:

    8 and 12; second argument overrides default parameter. -> Option D
  4. Quick Check:

    Default parameters used unless overridden [OK]
Hint: Default parameters fill missing arguments; explicit arguments override. [OK]
Common Mistakes:
  • Thinking default parameters are always used
  • Believing mixing default and non-default causes error
  • Ignoring argument overriding default