- How to Check Data Type in Python
- Method 1: Using the type() function
- Syntax
- Parameters
- Example: How to Use type() function
- Method 2: Using an isinstance() function
- Example
- Don’t use __class__ to check the data type in Python.
- Difference Between type() Function and isinstance() Function
- How to Check Type of Variable in Python
- 1. Checking Variable Type With Type() built-in function
- what is type()
- syntax
- Example 2: checking if the type of variable is a string
- 2. Checking Variable Type With isinstance() built-in function
- what is isinstance()
- sytnax
- example 1: checking variables type
- 4. Data Types in Python
- Related Tutorials:
- Python Print Type of Variable – How to Get Var Type
- How to Print the Type of a Variable in Python
- Final Thoughts
- Как узнать тип переменной Python
- Разница между type() и isinstance()
- type()
- Пример использования type()
- Команда type
- isinstance()
- Пример использования
- Принадлежность к одному из нескольких типов
- Проверка списка или другого iterable
- В других языках
How to Check Data Type in Python
Method 1: Using the type() function
To check the data type of a variable in Python, you can use the built-in “type()” method. The type() method “returns the class type of the argument(object) passed as a parameter.” For example, type(“Chat”) will return “str” because it is a string literal.
Syntax
Parameters
object: It is required; it can be a string, integer, list, tuple, set, dictionary, float, etc.
Example: How to Use type() function
str = 'AppDividend' print(type(str)) int = 123 print(type(int)) float = 21.19 print(type(float)) negative = -19 print(type(negative)) dictionary = print(type(dictionary)) list = [1, 2, 3] print(type(list)) tuple = (19, 21, 46) print(type(tuple))
Method 2: Using an isinstance() function
To check any object in Python, you can use the “isinstance()” function. The isinstance() function returns TRUE only when a stated object is of the desired type.
Example
data = isinstance("Hello", str) print(data)
Don’t use __class__ to check the data type in Python.
In Python, names that start with underscores are semantically not a part of the public API, and it’s a best practice for users to avoid using them. (Except when it’s compulsory.)
Since type gives us an object class, we should avoid getting __class__ directly.
class Foo(object): def foo(self): print(self.__class__) f = Foo() f.foo()
Let’s use type() function syntax, which is much better than this.
class Foo(object): def foo(self): print(type(self)) f = Foo() f.foo()
Don’t use __class__, a semantically nonpublic API, to get the variable type. Use type instead.
And don’t worry too much about the implementation details in Python.
I have not had to deal with issues around this myself. You probably won’t either, and if you really do, you should know enough not to be looking to this answer for what to do.
Difference Between type() Function and isinstance() Function
The isinstance() function returns true or false. On the other hand, the type() function returns the type of an object.
isinstance() function | type() function |
---|---|
It returns a Boolean value | It returns a String value |
It takes two arguments | It takes one argument |
It checks for multiple classes | It checks for only one object |
Python isinstance() function is used to check if a specific value holds a particular data type, whereas type() provides us with the exact data type of that variable.
How to Check Type of Variable in Python
In this tutorial, we’ll learn about getting and testing the type of variables by using two different ways, and finally, we’ll know the difference between these two ways.
1. Checking Variable Type With Type() built-in function
what is type()
type() is a python built function that returns the type of objects
syntax
As you can see, in the above code we have many different variables,
now let’s get the type of these variables.
If you want to know all types of objects in python, you’ll find it in the final part of the article.
Example 2: checking if the type of variable is a string
let’s say that you want to test or check if a variable is a string, see the code bellow
As you can see, the code works very well, but this is not the best way to do that.
Remember!, if you want to check the type of variable, you should use isinstance() built function.
2. Checking Variable Type With isinstance() built-in function
what is isinstance()
The isinstance() is a built-in function that check the type of object and return True or False
sytnax
example 1: checking variables type
#check if "list_var" is list print(isinstance(list_var, list)) #check if "string_var" is tuple print(isinstance(string_var, tuple)) #check if "tuple_var" is tuple print(isinstance(tuple_var, tuple)) #check if "dictionry_var" is dictionary print(isinstance(dictionry_var, dict))
if you want to get type of object use type() function.
if you want to check type of object use isinstance() function
4. Data Types in Python
Related Tutorials:
Python Print Type of Variable – How to Get Var Type
Kolade Chris
If you’re a Python beginner, becoming familiar with all its various data types can be confusing at first. After all, there are a lot of them available to you in the language.
In this article, I’m going to show you how to get the type of various data structures in Python by assigning them to a variable, and then printing the type to the console with the print() function.
How to Print the Type of a Variable in Python
To get the type of a variable in Python, you can use the built-in type() function.
The basic syntax looks like this:
In Python, everything is an object. So, when you use the type() function to print the type of the value stored in a variable to the console, it returns the class type of the object.
For instance, if the type is a string and you use the type() on it, you’d get as the result.
To show you the type() function in action, I’m going to declare some variables and assign to them the various data types in Python.
name = "freeCodeCamp" score = 99.99 lessons = ["RWD", "JavaScript", "Databases", "Python"] person = < "firstName": "John", "lastName": "Doe", "age": 28 >langs = ("Python", "JavaScript", "Golang") basics =
I will then print the types to the console by wrapping print() around some strings and the type() function.
print("The variable, name is of type:", type(name)) print("The variable, score is of type:", type(score)) print("The variable, lessons is of type:", type(lessons)) print("The variable, person is of type:", type(person)) print("The variable, langs is of type:", type(langs)) print("The variable, basics is of type:", type(basics))
Here are the outputs:
# Outputs: # The variable, name is of type: # The variable, score is of type: # The variable, lessons is of type: # The variable, person is of type: # The variable, langs is of type: # The variable, basics is of type:
Final Thoughts
The type() function is a valuable built-in function of Python with which you can get the data type of a variable.
If you’re a beginner, you should save yourself the hassle of cramming data types by using the type() function to print the type of a variable to the console. This will save you some time.
You can also use the type() function for debugging because in Python, variables are not declared with data types. So, the type() function was built into the language for you to check for data types of variables.
Как узнать тип переменной Python
В Python есть две функции type() и isinstance() с помощью которых можно проверить к какому типу данных относится переменная.
Разница между type() и isinstance()
type() возвращает тип объекта
isinstance() возвращает boolean значение — принадлежит объект данному типу или нет
type()
Встроенная функция type() это самый простой способ выяснить тип объекта. В Python всё является объектом, объекты делятся на изменяемые и неизменяемые .
Вы можете воспользоваться type() следующим образом.
Пример использования type()
В Python четырнадцать типов данных.
Для начала рассмотрим три численных типа (Numeric Types):
- int (signed integers)
- float (вещественные числа с плавающей точкой)
- complex (комплексные числа)
Создайте три переменные разного численного типа и проверьте работу функции:
var_int = 1380 var_float = 3.14 var_complex = 2.0-3.0j print (type(var_int)) print (type(var_float)) print (type(var_complex))
Рассмотрим ещё несколько примеров
# Text Type: var_str = ‘heihei.ru’ # Boolean Type: var_bool = True # Sequence Types: var_list = [ ‘heihei.ru’ , ‘topbicycle.ru’ , ‘urn.su’ ] var_tuple = ( ‘andreyolegovich.ru’ , ‘aredel.com’ ) var_range = range(0,9) print (type(var_str)) print (type(var_bool)) print (type(var_list)) print (type(var_tuple)) print (type(var_range))
Спецификацию функции type() вы можете прочитать на сайте docs.python.org
Команда type
Есть ещё полезная команда type которая решает другую задачу.
С помощью команды type можно, например, определить куда установлен Python.
Подробнее об этом можете прочитать здесь
python3 is hashed (/usr/bin/python3)
python3 is hashed (/usr/bin/python)
isinstance()
Кроме type() в Python есть функция isinstance(), с помощью которой можно проверить не относится ли переменная к какому-то определённому типу.
Иногда это очень удобно, а если нужно — всегда можно на основе isinstance() написать свою функцию.
Пример использования
Создадим пять переменных разного типа и проверим работу функции
var_int = 1380 var_str = ‘heihei.ru’ var_bool = True var_list = [ ‘heihei.ru’ , ‘topbicycle.ru’ , ‘urn.su’ ] var_tuple = ( ‘andreyolegovich.ru’ , ‘aredel.com’ ) if ( isinstance (var_int , int )): print ( f» < var_int >is int» ) else : print ( f» < var_int >is not int» ) if ( isinstance (var_str , str )): print ( f» < var_str >is str» ) else : print ( f» < var_str >is not str» ) if ( isinstance (var_bool , bool )): print ( f» < var_bool >is bool» ) else : print ( f» < var_bool >is not bool» ) if ( isinstance (var_list , list )): print ( f» < var_list >is list» ) else : print ( f» < var_list >is not list» ) if ( isinstance (var_tuple , tuple)): print ( f» < var_tuple >is tuple» ) else : print ( f» < var_tuple >is not tuple» )
1380 is int heihei.ru is str True is bool [‘heihei.ru’, ‘topbicycle.ru’, ‘urn.su’] is list (‘andreyolegovich.ru’, ‘aredel.com’) is tuple
Из isinstance() можно сделать аналог type()
Напишем свою фукнцию по определению типа typeof() на базе isinstance
def typeof(your_var): if ( isinstance (your_var, int)): return ‘int’ elif ( isinstance (your_var, bool)): return ‘bool’ elif ( isinstance (your_var, str)): return ‘str’ elif ( isinstance (your_var, list)): return ‘list’ elif ( isinstance (your_var, tuple)): return ‘tuple’ else : print(«type is unknown»)
Протестируем нашу функцию
Принадлежность к одному из нескольких типов
Если нужно проверить принадлежит ли объект не к какому-то одному, а к группе типов, эти типы можно перечислить в скобках.
Часто бывает нужно проверить является ли объект числом, то есть подойдёт как int, так и float
print ( isinstance ( 2.0 , ( int , float )))
Проверим несколько значений из списка
l3 = [ 1.5 , — 2 , «www.heihei.ru» ] for item in l3: print ( isinstance (item, ( int , float )))
Проверка списка или другого iterable
Часто бывает нужно проверить не одну переменную а целый список, множество, кортеж или какой-то другой объект.
Эту задачу можно решить с помощью isinstance() и функций:
Проверить все ли элементы списка l1 int
l1 = [ 1 , 2 , 3 ] if all ( map ( lambda p: isinstance (p, int ), l1)): print ( «all int in l1» )
Проверить несколько списков на int и float
l1 = [ 3 , — 4.0 , 5.5 , — 6.2 ] l2 = [ 1 , — 2 , «test» ] def verif_list (l): return ( all ( map ( lambda p: isinstance (p, ( int , float )), l))) if __name__ == «__main__» : print (verif_list(l1)) print (verif_list(l2))
Помимо isinstance() в Python есть функция issubclass() с помощью которой проверяется является один класс производным от другого.
В других языках
- Си: такой функции нет.
- C++: похожую задачу решает функция typeid()