Bird
Raised Fist0
Pythonprogramming~5 mins

How variable type changes at runtime in Python - Quick Revision & Summary

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
Recall & Review
beginner
What does it mean that Python variables can change type at runtime?
It means a variable can hold a value of one type at one moment, and later hold a value of a different type without errors.
Click to reveal answer
beginner
Show an example where a variable changes from an integer to a string.
x = 5 # x is an integer x = "hello" # now x is a string
Click to reveal answer
intermediate
Why can Python variables change type at runtime?
Because Python uses dynamic typing, it does not fix variable types when you write code. Types are checked when the program runs.
Click to reveal answer
beginner
What happens if you try to use a variable in a way that doesn't match its current type?
Python will raise an error if the operation is not supported for the variable's current type.
Click to reveal answer
beginner
Can you assign a list to a variable that was previously an integer? Why?
Yes, because Python variables are just names pointing to values. You can assign any type of value to the same variable name.
Click to reveal answer
What type does a Python variable have?
AA fixed type set when the variable is created
BAlways string
CThe type of the value it currently holds
DAlways integer
What happens if you assign a string to a variable that was holding an integer?
AThe variable changes to hold the string
BPython gives a syntax error
CThe variable keeps the integer value
DThe program crashes immediately
Which typing system allows variables to change type at runtime?
AStatic typing
BDynamic typing
CStrong typing
DWeak typing
If x = 10, then x = 'ten', what is the type of x now?
Aboolean
Binteger
Cfloat
Dstring
What error occurs if you try to add a number and a string in Python?
ATypeError
BSyntaxError
CNameError
DValueError
Explain how Python variables can change their type during program execution.
Think about how Python treats variable names and values.
You got /4 concepts.
    Give an example where a variable changes from one type to another and explain what happens.
    Use simple types like integer and string.
    You got /4 concepts.

      Practice

      (1/5)
      1. What happens to the type of a Python variable when you assign a new value of a different type to it?
      easy
      A. The variable's type changes to the new value's type automatically.
      B. The variable keeps its original type regardless of the new value.
      C. Python raises an error if the new value's type is different.
      D. The variable becomes a list containing both old and new types.

      Solution

      1. Step 1: Understand Python variable typing

        Python variables are dynamically typed, meaning their type depends on the current value assigned.
      2. Step 2: Assigning a new value changes the type

        When you assign a new value of a different type, the variable's type updates to match the new value automatically.
      3. Final Answer:

        The variable's type changes to the new value's type automatically. -> Option A
      4. Quick Check:

        Python variables are dynamic = A [OK]
      Hint: Remember: Python variables follow the value's type, not fixed type. [OK]
      Common Mistakes:
      • Thinking variables have fixed types like in some other languages.
      • Assuming Python throws an error on type change.
      • Believing variable types combine old and new types.
      2. Which of the following is the correct way to assign a new value to a variable in Python so its type changes?
      easy
      A. x = 10
      B. x := 10
      C. int x = 10
      D. var x = 10

      Solution

      1. Step 1: Identify Python assignment syntax

        Python uses the single equals sign (=) to assign values to variables.
      2. Step 2: Check each option

        x = 10 uses correct syntax. x := 10 uses walrus operator which is for expressions, not simple assignment. int x = 10 and var x = 10 are invalid in Python.
      3. Final Answer:

        x = 10 -> Option A
      4. Quick Check:

        Assignment uses = in Python = A [OK]
      Hint: Use single '=' for assignment in Python, not ':=' or types. [OK]
      Common Mistakes:
      • Confusing ':=' walrus operator with assignment.
      • Using typed declarations like other languages.
      • Trying to declare variable types explicitly.
      3. What will be the output of this code?
      var = 5
      print(type(var))
      var = 'hello'
      print(type(var))
      medium
      A. \n
      B. \n
      C. \n
      D. Error

      Solution

      1. Step 1: Check initial assignment and type

        var is first assigned 5, an integer, so type(var) is <class 'int'>.
      2. Step 2: Reassign and check new type

        var is then assigned 'hello', a string, so type(var) is <class 'str'>.
      3. Final Answer:

        <class 'int'>\n<class 'str'> -> Option C
      4. Quick Check:

        Type changes with value = C [OK]
      Hint: Track variable type after each assignment line by line. [OK]
      Common Mistakes:
      • Assuming type stays the same after reassignment.
      • Confusing output order of print statements.
      • Expecting a runtime error on type change.
      4. Find the error in this code snippet:
      value = 10
      value = value + '5'
      print(value)
      medium
      A. NameError because 'value' is undefined
      B. SyntaxError due to invalid assignment
      C. No error, output is 15
      D. TypeError because int and str cannot be added

      Solution

      1. Step 1: Analyze the operation between int and str

        value is an int (10), then tries to add a string ('5'), which is not allowed.
      2. Step 2: Identify the error type

        Python raises a TypeError when adding incompatible types like int and str.
      3. Final Answer:

        TypeError because int and str cannot be added -> Option D
      4. Quick Check:

        Adding int + str causes TypeError = D [OK]
      Hint: Check types before adding; int + str causes error. [OK]
      Common Mistakes:
      • Thinking Python auto-converts types in addition.
      • Expecting output '15' as string concatenation.
      • Confusing SyntaxError with TypeError.
      5. Given the code below, what will be the final type of data?
      data = 100
      if isinstance(data, int):
          data = str(data)
      else:
          data = [data]
      
      hard
      A. int
      B. str
      C. list
      D. bool

      Solution

      1. Step 1: Check initial type of data

        data starts as 100, which is an int.
      2. Step 2: Evaluate the if condition

        Since data is int, the if block runs, converting data to str('100').
      3. Final Answer:

        str -> Option B
      4. Quick Check:

        int converted to str by condition = B [OK]
      Hint: If int, convert to str; else make list. [OK]
      Common Mistakes:
      • Ignoring the if condition and assuming list.
      • Thinking data remains int after reassignment.
      • Confusing str and bool types.