На этом шаге мы рассмотрим несколько классификаций типов данных.
Основные типы данных делятся на изменяемые и неизменяемые. К изменяемым типам относятся:
>>> arr = [1, 2, 3]
>>> arr[0] = 0
>>> arr
[0, 2, 3]
К неизменяемым типам относятся:
>>> str1 = 'авто' >>> str2 = 'транспорт' >>> str3 = str1 + str2 >>> print(str3) автотранспорт
Кроме того, типы данных делятся на последовательности и отображения. К последовательностям относятся:
Последовательности и отображения поддерживают механизм итераторов, позволяющий произвести обход всех элементов с помощью метода __next__() или функции next (). Например, вывести элементы списка можно так:
>>> arr = [1, 2] >>> i = iter(arr) >>> i.__next__() # Метод __next__ 1 >>> next(i) # Функция next() 2
Если используется словарь, то на каждой итерации возвращается ключ:
>>> d = {'x': 1, 'y': 2} >>> i = iter(d) >>> i.__next__() # Возвращается ключ 'x' >>> d[i.__next__()] # Получаем значение по ключу 2
На практике подобным способом не пользуются. Вместо него применяется цикл for, который использует механизм итераторов незаметно для нас. Например, вывести элементы списка можно так:
>>> for i in [1, 2]: print(i) 1 2
Перебрать слово по буквам можно точно так же. Для примера вставим тире после каждой буквы:
>>> for i in 'Строка': print(i + ' -', end=' ') С - т - р - о - к - а -
Пример перебора элементов словаря:
>>> d = {'x': 1, 'y': 2} >>> for key in d: print(d[key]) 1 2
Последовательности поддерживают также обращение к элементу по индексу, получение среза, конкатенацию (оператор +), повторение (оператор *) и проверку на вхождение (оператор in). Все эти операции мы будем подробно рассматривать по мере изучения языка.
На следующем шаге мы рассмотрим присваивание значения переменным.