Skip to content

RESOURCES / BLOG

How to Get the Type of a Variable in Python?

Hi everyone,

While working on a Python script that processes image metadata from Cloudinary, I sometimes get confused about the type of variables I’m dealing with,  whether it’s a string, a list, or something else.

What’s the best way to get the type of a variable in Python? How can I check variable types during debugging or in conditional logic? Are there any common pitfalls or recommended practices?

Would appreciate some examples!

Thanks!

Great question! Knowing how to get the type of a variable in Python is fundamental for debugging, validating input, or writing flexible code, especially in projects involving image URLs, metadata, or batch processing with Cloudinary.

Let’s cover how to check types, common use cases, and best practices with examples.

The simplest way to get a variable’s type is:

my_var = "https://res.cloudinary.com/demo/image.jpg"

print(type(my_var))

# Output: <class 'str'>Code language: PHP (php)

This tells you my_var is a string.

  • type() returns the class type of the variable.
  • Useful for debugging or introspection.
  • Works with any Python object.

Example with various types:

print(type(42))             # <class 'int'>

print(type([1, 2, 3]))      # <class 'list'>

print(type({'key': 'val'})) # <class 'dict'>

print(type(3.14))           # <class 'float'>Code language: PHP (php)

Sometimes you want different behavior depending on the variable’s type:

def process_data(data):

    if type(data) == list:

        print("Processing a list with", len(data), "items")

    elif type(data) == str:

        print("Processing a string:", data)

    else:

        print("Unknown type:", type(data))

process_data(["img1.jpg", "img2.jpg"])

process_data("single-image.jpg")

# Output:

Processing a list with 2 items

Processing a string: single-image.jpgCode language: PHP (php)

While type() checks exact type equality, isinstance() is usually better because it supports inheritance:

print(type(True) == int)          # False

print(isinstance(True, int))      # True, because bool is a subclass of intCode language: PHP (php)

For flexible code, try:

if isinstance(data, list):

    ...Code language: PHP (php)
def validate_urls(urls):

    if not isinstance(urls, list):

        raise TypeError("Expected a list of URLs")

    for url in urls:

        if not isinstance(url, str):

            raise ValueError(f"URL should be string, got {type(url)}")

    print("All URLs are valid strings!")

validate_urls([

    "https://res.cloudinary.com/demo/image1.jpg",

    "https://res.cloudinary.com/demo/image2.jpg"

])Code language: PHP (php)

Sometimes you want the type’s name only:

var = 123

print(type(var).__name__)  # "int"Code language: PHP (php)

Helpful for logging or user-friendly error messages.

When debugging your Cloudinary integration:

image_metadata = {"url": "image.jpg", "tags": ["portrait", "summer"]}

print(f"Metadata type: {type(image_metadata)}")

print(f"Tags type: {type(image_metadata['tags'])}")

# Output:

Metadata type: <class 'dict'>

Tags type: <class 'list'>Code language: HTML, XML (xml)
TaskCode ExampleResult/Notes
Get typetype(var)Returns <class 'typename'>
Check type (exact)type(var) == listStrict equality, no subclass check
Check type (recommended)isinstance(var, list)Allows subclasses, more flexible
Get type name stringtype(var).__name__Useful for printing/logging
if isinstance(data, (list, tuple)):

    print("Data is a list or tuple")Code language: PHP (php)

Useful for accepting different but related types.

Knowing how to get the type of a variable in Python helps you write robust, error-resistant code, critical when working with diverse inputs from Cloudinary APIs or other data sources.

  • Use type() to quickly check types.
  • Prefer isinstance() for conditionals.
  • Use type name strings for logging.
  • Handle unexpected types gracefully to avoid runtime errors.

Start Using Cloudinary

Sign up for our free plan and start creating stunning visual experiences in minutes.

Sign Up for Free