Типы данных Python

В этом руководстве вы узнаете о различных типах данных, которые можно использовать в Python.

Типы данных в Python

Каждое значение в Python имеет тип данных. Поскольку в программировании на Python все является объектом, типы данных на самом деле являются классами, а переменные - экземплярами (объектами) этих классов.

В Python есть различные типы данных. Некоторые из важных типов перечислены ниже.

Числа Python

Целые числа, числа с плавающей запятой и комплексные числа подпадают под категорию чисел Python. Они определяются как int, floatи complexклассы в Python.

Мы можем использовать type()функцию, чтобы узнать, к какому классу принадлежит переменная или значение. Точно так же isinstance()функция используется для проверки принадлежности объекта к определенному классу.

 a = 5 print(a, "is of type", type(a)) a = 2.0 print(a, "is of type", type(a)) a = 1+2j print(a, "is complex number?", isinstance(1+2j,complex)) 

Вывод

5 имеет тип 2.0 имеет тип (1 + 2j) комплексное число? Правда

Целые числа могут быть любой длины, она ограничена только доступной памятью.

Число с плавающей запятой имеет точность до 15 десятичных знаков. Целые числа и числа с плавающей запятой разделяются десятичными точками. 1 - целое число, 1.0 - число с плавающей запятой.

Комплексные числа записываются в виде,, x + yjгде x - действительная часть, а y - мнимая часть. Вот несколько примеров.

 >>> a = 1234567890123456789 >>> a 1234567890123456789 >>> b = 0.1234567890123456789 >>> b 0.12345678901234568 >>> c = 1+2j >>> c (1+2j) 

Обратите внимание, что floatпеременная b усечена.

Список Python

Список - это упорядоченная последовательность элементов. Это один из наиболее часто используемых типов данных в Python и очень гибкий. Все элементы в списке не обязательно должны быть одного типа.

Объявить список довольно просто. Пункты, разделенные запятыми, заключаются в квадратные скобки ( ).

 a = (1, 2.2, 'python') 

Мы можем использовать оператор среза ( )для извлечения элемента или диапазона элементов из списка. В Python индекс начинается с 0.

 a = (5,10,15,20,25,30,35,40) # a(2) = 15 print("a(2) = ", a(2)) # a(0:3) = (5, 10, 15) print("a(0:3) = ", a(0:3)) # a(5:) = (30, 35, 40) print("a(5:) = ", a(5:)) 

Вывод

 а (2) = 15 а (0: 3) = (5, 10, 15) а (5 :) = (30, 35, 40) 

Списки изменяемы, то есть значение элементов списка может быть изменено.

 a = (1, 2, 3) a(2) = 4 print(a) 

Вывод

 (1, 2, 4) 

Кортеж Python

Кортеж - это упорядоченная последовательность элементов, аналогичная списку. Единственная разница в том, что кортежи неизменяемы. Однажды созданные кортежи не могут быть изменены.

Кортежи используются для защиты данных от записи и обычно работают быстрее, чем списки, поскольку они не могут изменяться динамически.

Он определяется в круглых скобках, ()где элементы разделяются запятыми.

 t = (5,'program', 1+3j) 

Мы можем использовать оператор нарезки ()для извлечения элементов, но мы не можем изменить его значение.

 t = (5,'program', 1+3j) # t(1) = 'program' print("t(1) = ", t(1)) # t(0:3) = (5, 'program', (1+3j)) print("t(0:3) = ", t(0:3)) # Generates error # Tuples are immutable t(0) = 10 

Вывод

 t (1) = program t (0: 3) = (5, 'program', (1 + 3j)) Traceback (последний вызов последним): файл «test.py», строка 11, в t (0) = 10 TypeError: объект 'tuple' не поддерживает назначение элементов 

Строки Python

Строка - это последовательность символов Юникода. Мы можем использовать одинарные или двойные кавычки для представления строк. Многострочные строки можно обозначать тройными кавычками, '''или """.

 s = "This is a string" print(s) s = '''A multiline string''' print(s) 

Вывод

 Это строка Многострочная строка 

Так же, как список и кортеж, оператор нарезки ( )может использоваться со строками. Однако строки неизменяемы.

 s = 'Hello world!' # s(4) = 'o' print("s(4) = ", s(4)) # s(6:11) = 'world' print("s(6:11) = ", s(6:11)) # Generates error # Strings are immutable in Python s(5) ='d' 

Вывод

 s (4) = os (6:11) = world Traceback (последний вызов последний): файл "", строка 11, в TypeError: объект 'str' не поддерживает назначение элементов 

Набор Python

Набор - это неупорядоченный набор уникальных предметов. Набор определяется значениями, разделенными запятыми внутри фигурных скобок ( ). Товары в наборе не заказываются.

 a = (5,2,3,1,4) # printing set variable print("a = ", a) # data type of variable a print(type(a)) 

Вывод

 а = (1, 2, 3, 4, 5) 

Мы можем выполнять операции над множествами, такие как объединение, пересечение двух множеств. Наборы имеют уникальные значения. Они устраняют дубликаты.

 a = (1,2,2,3,3,3) print(a) 

Вывод

 (1, 2, 3) 

Поскольку set являются неупорядоченной коллекцией, индексация не имеет значения. Следовательно, оператор нарезки ()не работает.

 >>> a = (1,2,3) >>> a(1) Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in TypeError: 'set' object does not support indexing 

Словарь Python

Словарь - это неупорядоченный набор пар ключ-значение.

Обычно он используется, когда у нас есть огромное количество данных. Словари оптимизированы для получения данных. Мы должны знать ключ, чтобы получить значение.

В Python словари определяются в фигурных скобках, ()где каждый элемент представляет собой пару в форме key:value. Ключ и значение могут быть любого типа.

 >>> d = (1:'value','key':2) >>> type(d) 

Мы используем ключ для получения соответствующего значения. Но не наоборот.

 d = (1:'value','key':2) print(type(d)) print("d(1) = ", d(1)); print("d('key') = ", d('key')); # Generates error print("d(2) = ", d(2)); 

Вывод

 d (1) = значение d ('key') = 2 Traceback (последний вызов последним): файл "", строка 9, в KeyError: 2 

Преобразование между типами данных

Мы можем конвертировать между различными типами данных, используя различные функции преобразования типа , как int(), float(), str()и т.д.

 >>> float(5) 5.0 

Преобразование из float в int приведет к усечению значения (приближению к нулю).

 >>> int(10.6) 10 >>> int(-10.6) -10 

Преобразование в строку и из строки должно содержать совместимые значения.

 >>> float('2.5') 2.5 >>> str(25) '25' >>> int('1p') Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in ValueError: invalid literal for int() with base 10: '1p' 

Мы даже можем преобразовать одну последовательность в другую.

 >>> set((1,2,3)) (1, 2, 3) >>> tuple((5,6,7)) (5, 6, 7) >>> list('hello') ('h', 'e', 'l', 'l', 'o') 

Для преобразования в словарь каждый элемент должен быть парой:

 >>> dict(((1,2),(3,4))) (1: 2, 3: 4) >>> dict(((3,26),(4,44))) (3: 26, 4: 44) 

Интересные статьи...