HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p><strong>Переменные</strong>- зарезервированные ячейки памяти, используемые в Python для хранения значений. Типы данных переменной бывают разные, а на основе типа данных интерпретатор осуществляет выделение необходимого объёма памяти. В этой статье мы рассмотрим 6 основных типов данных в Python.</p>
1 <p><strong>Переменные</strong>- зарезервированные ячейки памяти, используемые в Python для хранения значений. Типы данных переменной бывают разные, а на основе типа данных интерпретатор осуществляет выделение необходимого объёма памяти. В этой статье мы рассмотрим 6 основных типов данных в Python.</p>
2 <h2>Числа</h2>
2 <h2>Числа</h2>
3 <p>Для хранения числовых значений используют числовые типы данных. Создание числовых объектов не вызывает затруднений:</p>
3 <p>Для хранения числовых значений используют числовые типы данных. Создание числовых объектов не вызывает затруднений:</p>
4 <p>Ссылка на числовой объект без проблем удаляется с помощью оператора<strong>del</strong>. Синтаксис:</p>
4 <p>Ссылка на числовой объект без проблем удаляется с помощью оператора<strong>del</strong>. Синтаксис:</p>
5 del var1[,var2[,var3[....,varN]]]]<p>В Python поддерживаются 3 разных числовых типа: - целые числа со знаком (<strong>int</strong>); - значения с плавающей запятой (<strong>float</strong>); - комплексные числа (<strong>complex</strong>).</p>
5 del var1[,var2[,var3[....,varN]]]]<p>В Python поддерживаются 3 разных числовых типа: - целые числа со знаком (<strong>int</strong>); - значения с плавающей запятой (<strong>float</strong>); - комплексные числа (<strong>complex</strong>).</p>
6 <p>В Python 3 все целые числа представлены как long числа, то есть отдельного типа long нет.</p>
6 <p>В Python 3 все целые числа представлены как long числа, то есть отдельного типа long нет.</p>
7 <p>Чтобы узнать класс переменной либо значения, мы можем использовать функции type() и isinstance(). Это позволяет проверить принадлежность объекта конкретному классу:</p>
7 <p>Чтобы узнать класс переменной либо значения, мы можем использовать функции type() и isinstance(). Это позволяет проверить принадлежность объекта конкретному классу:</p>
8 &gt;&gt;&gt; a = 5 &gt;&gt;&gt; print(a, "is of type", type(a)) 5 is of type &lt;class 'int'&gt; &gt;&gt;&gt; a = 2.0 &gt;&gt;&gt; print(a, "is of type", type(a)) 2.0 is of type &lt;class 'float'&gt; &gt;&gt;&gt; a = 1+2j &gt;&gt;&gt; print(a, "is complex number?", isinstance(1+2j, complex)) (1+2j) is complex number? True<p>У чисел с плавающей запятой ограниченная точность. Визуально разница видна в консоли по наличию точки: 1.0 - число с плавающей запятой, 1 - целое число.</p>
8 &gt;&gt;&gt; a = 5 &gt;&gt;&gt; print(a, "is of type", type(a)) 5 is of type &lt;class 'int'&gt; &gt;&gt;&gt; a = 2.0 &gt;&gt;&gt; print(a, "is of type", type(a)) 2.0 is of type &lt;class 'float'&gt; &gt;&gt;&gt; a = 1+2j &gt;&gt;&gt; print(a, "is complex number?", isinstance(1+2j, complex)) (1+2j) is complex number? True<p>У чисел с плавающей запятой ограниченная точность. Визуально разница видна в консоли по наличию точки: 1.0 - число с плавающей запятой, 1 - целое число.</p>
9 <p>Что касается комплексных чисел, то они записываются в виде x+yj. Х в данном случае - действительная часть числа, Y - мнимая. Примеры:</p>
9 <p>Что касается комплексных чисел, то они записываются в виде x+yj. Х в данном случае - действительная часть числа, Y - мнимая. Примеры:</p>
10 &gt;&gt;&gt; a = 1234567890123456789 &gt;&gt;&gt; a 1234567890123456789 &gt;&gt;&gt; b = 0.1234567890123456789 &gt;&gt;&gt; b 0.12345678901234568 &gt;&gt;&gt; c = 1+2j &gt;&gt;&gt; c (1+2j)<p>Здесь следует учесть, что значение переменной b усечено.</p>
10 &gt;&gt;&gt; a = 1234567890123456789 &gt;&gt;&gt; a 1234567890123456789 &gt;&gt;&gt; b = 0.1234567890123456789 &gt;&gt;&gt; b 0.12345678901234568 &gt;&gt;&gt; c = 1+2j &gt;&gt;&gt; c (1+2j)<p>Здесь следует учесть, что значение переменной b усечено.</p>
11 <h2>Списки</h2>
11 <h2>Списки</h2>
12 <p><strong>Список</strong>- упорядоченная последовательность элементов. Этот тип данных используется в Python очень часто. Кстати, все элементы списка не обязательно должны иметь один и тот же тип.</p>
12 <p><strong>Список</strong>- упорядоченная последовательность элементов. Этот тип данных используется в Python очень часто. Кстати, все элементы списка не обязательно должны иметь один и тот же тип.</p>
13 <p>Объявить список несложно. Элементы помещаются внутрь квадратных скобок и разделяются запятой:</p>
13 <p>Объявить список несложно. Элементы помещаются внутрь квадратных скобок и разделяются запятой:</p>
14 &gt;&gt;&gt; a = [1, 2.2, 'python']<p>Для доступа к значениям списка используют оператор среза []. Индексация в Python начинается с нуля:</p>
14 &gt;&gt;&gt; a = [1, 2.2, 'python']<p>Для доступа к значениям списка используют оператор среза []. Индексация в Python начинается с нуля:</p>
15 &gt;&gt;&gt; a = [5,10,15,20,25,30,35,40] &gt;&gt;&gt; print("a[2] =", a[2]) a[2] = 15 &gt;&gt;&gt; print("a[0:3] =", a[0:3]) a[0:3] = [5, 10, 15] &gt;&gt;&gt; print("a[5:] =", a[5:]) a[5:] = [30, 35, 40]<p>Списки - изменяемый тип, т. е. значения элементов можно менять:</p>
15 &gt;&gt;&gt; a = [5,10,15,20,25,30,35,40] &gt;&gt;&gt; print("a[2] =", a[2]) a[2] = 15 &gt;&gt;&gt; print("a[0:3] =", a[0:3]) a[0:3] = [5, 10, 15] &gt;&gt;&gt; print("a[5:] =", a[5:]) a[5:] = [30, 35, 40]<p>Списки - изменяемый тип, т. е. значения элементов можно менять:</p>
16 &gt;&gt;&gt; a = [1,2,3] &gt;&gt;&gt; a[2] = 4 &gt;&gt;&gt; a [1, 2, 4]<h2>Кортежи</h2>
16 &gt;&gt;&gt; a = [1,2,3] &gt;&gt;&gt; a[2] = 4 &gt;&gt;&gt; a [1, 2, 4]<h2>Кортежи</h2>
17 <p>Кортежи, как и списки - это упорядоченные последовательности элементов, только они неизменяемы. Кроме того, кортежи заключены в круглые скобки. Их используют для защиты данных о перезаписи. Эти типы данных можно рассматривать как "списки только для чтения".</p>
17 <p>Кортежи, как и списки - это упорядоченные последовательности элементов, только они неизменяемы. Кроме того, кортежи заключены в круглые скобки. Их используют для защиты данных о перезаписи. Эти типы данных можно рассматривать как "списки только для чтения".</p>
18 <p>Создаём кортеж:</p>
18 <p>Создаём кортеж:</p>
19 &gt;&gt;&gt; t = (5,'program', 1+3j)<p>Для извлечения элементов также используют оператор среза []. Но поменять значения не получится:</p>
19 &gt;&gt;&gt; t = (5,'program', 1+3j)<p>Для извлечения элементов также используют оператор среза []. Но поменять значения не получится:</p>
20 &gt;&gt;&gt; t = (5,'program', 1+3j) &gt;&gt;&gt; print("t[1] =", t[1]) t[1] = program &gt;&gt;&gt; print("t[0:3] =", t[0:3]) t[0:3] = (5, 'program', (1+3j)) # Приведёт к ошибке, т. к. # кортежи неизменяемы &gt;&gt;&gt; t[0] = 10<h2>Строки</h2>
20 &gt;&gt;&gt; t = (5,'program', 1+3j) &gt;&gt;&gt; print("t[1] =", t[1]) t[1] = program &gt;&gt;&gt; print("t[0:3] =", t[0:3]) t[0:3] = (5, 'program', (1+3j)) # Приведёт к ошибке, т. к. # кортежи неизменяемы &gt;&gt;&gt; t[0] = 10<h2>Строки</h2>
21 <p><strong>Строка</strong>- непрерывный набор символов, которые размещаются в двойных или одинарных кавычках:</p>
21 <p><strong>Строка</strong>- непрерывный набор символов, которые размещаются в двойных или одинарных кавычках:</p>
22 &gt;&gt;&gt; s = "Простая строка" &gt;&gt;&gt; s = '''многострочная строка'''<p>Как и в случае с кортежами и списками, можно применять []. Строки - тип данных, который относится к категории неизменяемых последовательностей.</p>
22 &gt;&gt;&gt; s = "Простая строка" &gt;&gt;&gt; s = '''многострочная строка'''<p>Как и в случае с кортежами и списками, можно применять []. Строки - тип данных, который относится к категории неизменяемых последовательностей.</p>
23 <h2>Множества</h2>
23 <h2>Множества</h2>
24 <p>Неупорядоченная уникализированная последовательность, объявляемая посредством элементов, которые разделены запятой внутри фигурных скобок:</p>
24 <p>Неупорядоченная уникализированная последовательность, объявляемая посредством элементов, которые разделены запятой внутри фигурных скобок:</p>
25 &gt;&gt;&gt; a = {5,2,3,1,4} # вывод переменной множества &gt;&gt;&gt; print("a =", a) a = {1, 2, 3, 4, 5} # тип данных переменной а &gt;&gt;&gt; print(type(a)) &lt;class 'set'&gt;<p>Можно выполнять объединение и пересечение множеств. Так как все элементы должны быть уникальными, дубликаты автоматически удаляются:</p>
25 &gt;&gt;&gt; a = {5,2,3,1,4} # вывод переменной множества &gt;&gt;&gt; print("a =", a) a = {1, 2, 3, 4, 5} # тип данных переменной а &gt;&gt;&gt; print(type(a)) &lt;class 'set'&gt;<p>Можно выполнять объединение и пересечение множеств. Так как все элементы должны быть уникальными, дубликаты автоматически удаляются:</p>
26 &gt;&gt;&gt; a = {1,2,2,3,3,3} &gt;&gt;&gt; a {1, 2, 3}<p>Раз последовательность не упорядочена, оператор извлечения среза не работает.</p>
26 &gt;&gt;&gt; a = {1,2,2,3,3,3} &gt;&gt;&gt; a {1, 2, 3}<p>Раз последовательность не упорядочена, оператор извлечения среза не работает.</p>
27 <h2>Словари</h2>
27 <h2>Словари</h2>
28 <p>Словари - это хеш-таблицы или неупорядоченные наборы пар типа "ключ-значение". Работают, как ассоциативные массивы. Используются, если нужно сопоставить значение какому-нибудь ключу, чтобы иметь возможность<strong>получить доступ к этому значению, имея соответствующий ключ</strong>. В других языках программирования словари называют map, hash, object.</p>
28 <p>Словари - это хеш-таблицы или неупорядоченные наборы пар типа "ключ-значение". Работают, как ассоциативные массивы. Используются, если нужно сопоставить значение какому-нибудь ключу, чтобы иметь возможность<strong>получить доступ к этому значению, имея соответствующий ключ</strong>. В других языках программирования словари называют map, hash, object.</p>
29 <p>Словарь оптимизирован для извлечения данных. Он объявляется парами элементов в виде<strong>ключ:значение</strong>, которые заключены в фигурные скобки:</p>
29 <p>Словарь оптимизирован для извлечения данных. Он объявляется парами элементов в виде<strong>ключ:значение</strong>, которые заключены в фигурные скобки:</p>
30 &gt;&gt;&gt; d = {1:'value', 'key':2} &gt;&gt;&gt; type(d) &lt;class 'dict'&gt;<p>Ключ используется для получения значения, которое ему соответствует. Не наоборот!</p>
30 &gt;&gt;&gt; d = {1:'value', 'key':2} &gt;&gt;&gt; type(d) &lt;class 'dict'&gt;<p>Ключ используется для получения значения, которое ему соответствует. Не наоборот!</p>
31 &gt;&gt;&gt; d = {1:'value', 'key':2} &gt;&gt;&gt; print("d[1] =", d[1]); d[1] = value &gt;&gt;&gt; print("d['key'] =", d['key']); d['key'] = 2 # Приведёт к ошибке &gt;&gt;&gt; print("d[2] =", d[2]);<h2>Преобразование типов данных</h2>
31 &gt;&gt;&gt; d = {1:'value', 'key':2} &gt;&gt;&gt; print("d[1] =", d[1]); d[1] = value &gt;&gt;&gt; print("d['key'] =", d['key']); d['key'] = 2 # Приведёт к ошибке &gt;&gt;&gt; print("d[2] =", d[2]);<h2>Преобразование типов данных</h2>
32 <p>Мы можем преобразовывать значения из одного типа в другой с помощью таких функций, как int(), str(), float() и других:</p>
32 <p>Мы можем преобразовывать значения из одного типа в другой с помощью таких функций, как int(), str(), float() и других:</p>
33 <p>Когда происходит преобразование числа с плавающей запятой в целое, то теряется часть после запятой:</p>
33 <p>Когда происходит преобразование числа с плавающей запятой в целое, то теряется часть после запятой:</p>
34 &gt;&gt;&gt; int(10.6) 10 &gt;&gt;&gt; int(-10.6) -10<p>Преобразование в словарь требует, чтобы каждый элемент последовательности был парой:</p>
34 &gt;&gt;&gt; int(10.6) 10 &gt;&gt;&gt; int(-10.6) -10<p>Преобразование в словарь требует, чтобы каждый элемент последовательности был парой:</p>
35 &gt;&gt;&gt; dict([[1,2],[3,4]]) {1: 2, 3: 4} &gt;&gt;&gt; dict([(3,26),(4,44)]) {3: 26, 4: 44}<p>Подробнее о преобразовании типов данных в Python смотрите в таблице ниже:</p>
35 &gt;&gt;&gt; dict([[1,2],[3,4]]) {1: 2, 3: 4} &gt;&gt;&gt; dict([(3,26),(4,44)]) {3: 26, 4: 44}<p>Подробнее о преобразовании типов данных в Python смотрите в таблице ниже:</p>
36 <p><em>Материал "Типизация в Python. Типы данных, переменные" подготовлен специально для OTUS на основании статьи<a>"Python Data Types"</a>.</em></p>
36 <p><em>Материал "Типизация в Python. Типы данных, переменные" подготовлен специально для OTUS на основании статьи<a>"Python Data Types"</a>.</em></p>
37  
37