Bird
Raised Fist0
Pythonprogramming~5 mins

Type checking using type() 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
Sometimes, you want to know what kind of data you have. The type() function helps you find out if a value is a number, text, or something else.
When you want to check if a user entered a number or text.
When you need to handle data differently based on its type.
When debugging to understand what kind of data a variable holds.
When writing functions that behave differently for different data types.
Syntax
Python
type(object)
The object can be any value or variable you want to check.
type() returns the type of the object, like for numbers.
Examples
Checks the type of the number 5, which is an integer.
Python
type(5)
Checks the type of the text 'hello', which is a string.
Python
type('hello')
Checks the type of a list of numbers.
Python
type([1, 2, 3])
Sample Program
This program checks and prints the types of three different variables: a number, a string, and a list.
Python
a = 10
b = 'apple'
c = [1, 2, 3]

print(type(a))
print(type(b))
print(type(c))
OutputSuccess
Important Notes
type() shows the exact type, including built-in types like int, str, list, and custom classes.
Use type() to compare types, but for checking if something is a type or subclass, isinstance() is often better.
Summary
type() tells you the kind of data stored in a variable.
It helps you write code that works correctly with different data types.
Use it to understand and debug your programs.

Practice

(1/5)
1. What does the type() function do in Python?
easy
A. It tells you the kind of data stored in a variable.
B. It changes the data type of a variable.
C. It prints the value of a variable.
D. It deletes a variable from memory.

Solution

  1. Step 1: Understand the purpose of type()

    The type() function returns the data type of the given variable or value.
  2. Step 2: Compare options with the function's purpose

    Only It tells you the kind of data stored in a variable. correctly states that type() tells the kind of data stored in a variable.
  3. Final Answer:

    It tells you the kind of data stored in a variable. -> Option A
  4. Quick Check:

    type() returns data type [OK]
Hint: Remember: type() shows data kind, not value or change [OK]
Common Mistakes:
  • Thinking type() changes the variable's type
  • Confusing type() with print()
  • Assuming type() deletes variables
2. Which of the following is the correct syntax to check the type of variable x?
easy
A. type x
B. type[x]
C. type(x)
D. check_type(x)

Solution

  1. Step 1: Recall the syntax of the type() function

    The correct syntax uses parentheses around the variable: type(x).
  2. Step 2: Evaluate each option

    type(x) matches the correct syntax. Options A and B use wrong brackets or missing parentheses. check_type(x) is not a valid Python function.
  3. Final Answer:

    type(x) -> Option C
  4. Quick Check:

    Use parentheses with type() [OK]
Hint: Use parentheses with functions like type() [OK]
Common Mistakes:
  • Using square brackets instead of parentheses
  • Omitting parentheses
  • Using non-existent functions like check_type()
3. What will be the output of this code?
value = 3.14
print(type(value))
medium
A. <class 'float'>
B. <class 'int'>
C. <class 'str'>
D. Error

Solution

  1. Step 1: Identify the data type of value

    The variable value is assigned 3.14, which is a decimal number, so its type is float.
  2. Step 2: Understand what print(type(value)) outputs

    The type() function returns <class 'float'> for a float value, which is printed.
  3. Final Answer:

    <class 'float'> -> Option A
  4. Quick Check:

    3.14 is float type [OK]
Hint: Decimals are float type in Python [OK]
Common Mistakes:
  • Confusing float with int
  • Expecting string output
  • Thinking it causes an error
4. Find the error in this code snippet:
my_var = 'hello'
if type(my_var) == str:
print('It is a string')
medium
A. Missing colon after if statement
B. Indentation error in print statement
C. Variable name is invalid
D. Incorrect use of type() function

Solution

  1. Step 1: Check the if statement syntax

    The if statement has a colon and uses type() correctly, so no error there.
  2. Step 2: Check indentation of the print statement

    In Python, the code inside if must be indented. Here, print is not indented, causing an indentation error.
  3. Final Answer:

    Indentation error in print statement -> Option B
  4. Quick Check:

    Indent inside if blocks [OK]
Hint: Indent code inside if statements [OK]
Common Mistakes:
  • Forgetting to indent after if
  • Misusing type() comparison
  • Missing colon after if
5. You want to write a function that returns True if the input is an integer or a float, and False otherwise. Which code correctly uses type() to do this?
hard
A. def check_num(x): return type(x) == int and float
B. def check_num(x): return type(x) == int or float
C. def check_num(x): return type(x) == 'int' or 'float'
D. def check_num(x): return type(x) in [int, float]

Solution

  1. Step 1: Understand the goal

    The function should return True if x is either int or float.
  2. Step 2: Analyze each option's correctness

    def check_num(x): return type(x) == int or float uses or float incorrectly, always returning truthy. def check_num(x): return type(x) in [int, float] uses in to check membership in a list of types, which is concise and correct. def check_num(x): return type(x) == 'int' or 'float' compares type to strings, which is wrong. def check_num(x): return type(x) == int and float uses and incorrectly, only detecting ints.
  3. Final Answer:

    def check_num(x): return type(x) in [int, float] -> Option D
  4. Quick Check:

    Use in to check multiple types [OK]
Hint: Use 'type(x) in [int, float]' for multiple types [OK]
Common Mistakes:
  • Comparing type to string names
  • Using 'and' instead of 'or' or 'in'
  • Using incomplete logic like '== int or float'