Python Get Type of Variable


In Python programming, understanding variable types is crucial for effective coding and debugging.

Knowing the type of a variable helps in writing cleaner, more efficient code and reduces the chances of errors during execution.

In this article, we will dive into various methods to determine the type of a variable in Python.

    Table of Contents

  1. Understanding Python Data Types
  2. Methods to Get Variable Types in Python
    1. Using the type() Function
    2. Implicit Type Checking with isinstance()
    3. Using __class__ Attribute
  3. Examples of Getting Variable Types
  4. Conclusion

1. Understanding Python Data Types

Before we dive into the specifics of getting variable types, let's briefly discuss the different data types available in Python.

Python is a dynamically-typed language, which means that variables can hold values of different types. Some commonly used data types in Python include:


2. Methods to Get Variable Types in Python

2.1. Using the type() Function

The type() function in Python is a built-in method that returns the type of the object passed to it as an argument. It is the simplest and most straightforward way to determine the type of a variable.

To use this function, simply pass the variable as an argument to the type() function. For example, type(5) will return int as the output.

x = 5
print(type(x)) 
# Output: <class 'int'>

y = "Hello, World!"
print(type(y))
# Output: <class 'str'>

Output:

<class 'int'>
<class 'str'>

2.2. Implicit Type Checking with isinstance()

Another method to check variable types in Python is using the isinstance() function.

This function allows for implicit type checking and can be particularly useful in scenarios where multiple types are accepted.

It accept two arguments, the first being the variable to be checked and the second being the type to be checked against. For example, isinstance(5, int) will return True as the output.

x = 5
print(isinstance(x, int))
# Output: True

y = "Hello, World!"
print(isinstance(y, str))
# Output: True

Output:

True
True

2.3. Using __class__ Attribute

Every object in Python has a special attribute called __class__ that stores the class of the object. This attribute can be used to determine the type of a variable.

For example, 5.__class__ will return int as the output.

x = 5
print(x.__class__)
# Output: <class 'int'>

y = "Hello, World!"
print(y.__class__)
# Output: <class 'str'>

Output:

<class 'int'>
<class 'str'>

3. Examples of Getting Variable Types

Let's explore practical examples to demonstrate how the type() function works for different data types.

3.1. Strings

Strings are used to represent textual data. We can use the type() function to determine the type of a string variable. Consider the following example:

name = "TutorialsTonight"

print("Type of name:", type(name))

Output:

Type of name: <class 'str'>

3.2. Numbers

Python supports various types of numbers, including integers, floating-point numbers, and complex numbers. We can use the type() function to identify the type of a number variable. For instance:

marks = 95

print("The variable, marks is of type:", type(score))

Output:

The variable, marks is of type: <class 'int'>

3.3. Lists

Lists are ordered collections of items. They can contain elements of different types. Let's see how we can determine the type of a list variable using the type() function:

lessons = ["Python", "JavaScript", "Databases", "SQL"]
print("The variable, lessons is of type:", type(lessons))

Output:

The variable, lessons is of type: <class 'list'>

3.4. Dictionaries

Dictionaries store data in key-value pairs. We can use the type() function to ascertain the type of a dictionary variable. Here's an example:

student = {
  "name": "John Doe",
  "age": 20
}

print("The variable, student is of type:", type(student))

Output:

The variable, student is of type: <class 'dict'>

3.5. Tuples

Tuples are immutable sequences, meaning their elements cannot be modified once created. We can utilize the type() function to determine the type of a tuple variable. Consider the following example:

langs = ("Python", "JavaScript", "Golang")

print("The variable, langs is of type:", type(langs))

Output:

The variable, langs is of type: <class 'tuple'>

3.6. Sets

Sets are unordered collections of unique elements. We can use the type() function to identify the type of a set variable. For instance:

basics = {"HTML", "CSS", "JavaScript"}

print("The variable, basics is of type:", type(basics))

Output:

The variable, basics is of type: <class 'set'>

Conclusion

Understanding variable types is fundamental in Python programming. By utilizing methods such as the type() function, isinstance() function, and accessing the __class__ attribute, developers can efficiently determine the type of variables in their codebase.