Топ-7 учебников по python для начинающих (на русском языке)

Python 3. Самое необходимое

Авторы: Н. А. Прохоренок, В. А. Дронов.
Год издания: 2019

Как и заявлено в названии, в этой книге вы найдете все самое необходимое для начинающего питониста. Базовый синтаксис, основы ООП, стандартная библиотека, работа с модулями — обо всем этом авторы рассказывают в доступной форме. Благодаря хорошей структуре и сжатому изложению в дальнейшем вы сможете пользоваться этой книгой как настольным справочником по Python.

Многочисленные примеры помогут вам
разобраться в излагаемых концепциях и
немного «набить руку» в написании кода
(если, конечно, вы будете испытывать их
на практике, а не только читать).

Как создавать новые функции в Python

Дефолтных функций бывает недостаточно, и часто случается, что один и тот же набор операций надо выполнить много раз, причём с разными переменными. Чтобы сохранить время и избежать огромного кода, который сложно понять, мы можем создавать собственные функции.

Давайте напишем функцию, которая увеличит значение числа, которое мы ей передадим, на единицу:

Команда def (от англ. define — определить) означает, что мы определяем собственную функцию, increase_by_ 1 — это её название, а x — это переменная, с которой она работает.

Иногда функция уже существует, но её нет в базовой версии Python. Тогда её можно импортировать из библиотеки. Например, чтобы работать с более сложными математическими функциями, чем те, о которых мы говорили, нам понадобится библиотека math. Подключить можно всю библиотеку или только одну-две команды, в зависимости от того, что вам нужно. Для этого используется функция import. Это выглядит так:

Внимание!

Будьте осторожны с названиями функций! Если вы напишете свою функцию, а потом импортируете функцию с таким же названием, вы сможете использовать только импортированную.

С чего начать изучение

Каждый человек имеет разный уровень знаний. Кто-то уже успел что-то выучить в вузе, кто-то пришёл в Python из другого языка программирования, а кто-то совсем новичок и даже не знает, что такое переменная.

В любом случае начинающий программист должен изучить все основные конструкции языка. Не нужно сразу пользоваться каким-либо фреймворком, читать технические книги про алгоритмы, структуры данных и устройство компьютера.

Лучше начать с какого-либо курса, которые, обычно, дают только самую необходимую базу и не загружают мозг обучающегося огромным количеством технических терминов и информации. Для начала нужно изучить следующее:

  • Переменные, их типы и операции над ними.
  • Работа с числами, строками и другими типами.
  • Условия.
  • Циклы.
  • Структуры данных (списки, кортежи, словари).
  • Стандартные инструменты языка (ввод и вывод, округление).

На этом этапе практика заключается в написании небольших программ в несколько десятков строк кода.

Следующим шагов будет знакомство с функциями, которые позволяют писать более сложные программы с нормальной структурой. Начинающий программист должен разобрать:

  • Назначение функций.
  • Синтаксис функций.
  • Аргументы.
  • Возврат значений из функции.
  • Вложенные функции.
  • Рекурсию.

Функции позволяют писать более сложные и объемные программы (до нескольких сотен строк кода). Однако для дальнейшего развития программист должен разобраться с модулями и файлами:

  • Узнать, что такое модули и пакеты.
  • Научиться использовать несколько модулей в одном проекте.
  • Разобраться с областями видимости модулей.
  • Понять синтаксис работы с файлами (открытие, закрытие, ввод и вывод информации).

Последней базовой стадией будет изучение объектно-ориентированного программирования, которое включается в себя такие понятия, как:

  • Класс и его экземпляры.
  • Объекты.
  • Конструктор.
  • Методы и поля класса.
  • Инкапсуляция, наследование и полиморфизм.

Python для чайников

Отличная книга для тех, кто решается учить Python с нуля. Для начала автор познакомит вас со средой Python (установка в разных операционных системах, работа с Anaconda). Затем вы перейдете к изучению самых базовых понятий языка (использование переменных, работа со строками, управление данными, функции и т. п.). Конечно же, есть отдельная глава, посвященная циклам.

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

Автор книги — опытный технический
писатель и редактор, выпустивший более
100 книг. Не удивительно, что его произведение
так легко читается. Джон Пол Мюллер
объясняет сложные концепции на самых
простых примерах, а для еще лучшего
понимания в книге имеются иллюстрации.

Как выучиться на Python-разработчика

Закончить университетЕсли у вас еще нет семьи и ипотеки, то это неплохой старт карьеры. Если решите получать «вышку», то нужно понимать две вещи:

  1. Придется много учиться не только программированию, но и многим смежным и не очень вещам. Особенно на первых курсах.
  2. Все равно нужно будет дополнительно набираться опыта и подтягивать hard skills, чтобы получить работу. ВУЗ — хорошая база. Но самые актуальные знания можно получить только на работе, от практикующих специалистов.

Самостоятельно пройти курсы программирования

Несколько важных деталей о курсах по программированию для новичков:

  1. Не выбирайте короткие курсы. Минимальная длина курса с глубоким погружением в тему — полгода.
  2. Курсы программирования не гарантируют вам трудоустройства. Если школа обещает что-то подобное, скорее всего, вас обманывают. Никто не может гарантировать, что после обучения у вас будет работа.
  3. Еженедельно десятки похожих друг на друга онлайн-школ пачками выпускают учеников, которые прошли одинаковые курсы. Это усложняет поиск работы.
  4. Главный индикатор качества любого образования — знания, навыки и успех выпускников. Когда будете выбирать школу, посоветуйтесь с теми, кто в ней учился и стал начинающим программистом с ее помощью.

Выучиться на начинающего программиста с ментором

Это самый легкий и быстрый способ стать начинающим программистом. Ментор — ваш персональный репетитор по программированию. Основные плюсы: это человек «в рынке», он на практике каждый день решает те задачи, которые будет вам объяснять. Ментор понимает, какие инструменты действительно востребованы в вашем направлении программирования.

Вместе с ментором вы составите учебный план. Обычно это 1-2 занятия в неделю, на которых вы задаете вопросы и обсуждаете пройденный материал. Ментор объясняет те места, в которых вы не разобрались. Наши менторы помогут вам освоить новую профессию и стать начинающим разработчиком. У нас есть специалисты по Python из самых успешных компаний: Google, Яндекс, Сбербанк, Mail.ru и другие.

Учиться в школах программирования при корпорациях

Квалифицированных начинающих программистов не хватает на рынке IT, поэтому крупные компании организуют собственные школы, чтобы их подготовить. Например, Школа 21 от Сбербанка, Академия Яндекса, Школа программистов от HH.

Плюсы: качественное образование от экспертов из рынка; близость к компании, а значит, легче получить работу и стать начинающим программистом; нетворкинг; бесплатное образование для будущих программистов.

Минусы: большая часть таких школ программирования — оффлайн, а значит, нужно физически присутствовать в конкретном городе, как правило, в Москве. А еще для попадания в школы нужно пройти сложный отбор из нескольких этапов, почти как поступление в ВУЗ.

Выучиться на начинающего программиста самостоятельно

Самый дешевый способ стать программистом, который подходит всем, независимо от места жительства и финансового положения. Все базовые знания о программировании есть в интернете: видеолекции, учебники и статьи.

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

Учебник по использованию Python с VS Code (на примере Hello World)Hello World tutorial for using Python with VS Code

Команда VS Code составила отличный учебник по с пошаговым руководством по созданию программы Hello World с помощью Python, запуску программного файла, настройке и запуску отладчика, а также установке пакетов, таких как matplotlib и numpy, для создания графического изображения в виртуальной среде.The VS Code team has put together a great tutorial walking through how to create a Hello World program with Python, run the program file, configure and run the debugger, and install packages like matplotlib and numpy to create a graphical plot inside a virtual environment.

  1. Откройте PowerShell и создайте пустую папку с именем hello, перейдите в эту папку и откройте ее в VS Code:Open PowerShell and create an empty folder called «hello», navigate into this folder, and open it in VS Code:

  2. После открытия среды VS Code, где показана новая папка hello в левом окне обозревателя, откройте окно командной строки в нижней панели VS Code, нажав CTRL+` (символ обратного апострофа) или выбрав Просмотр > Терминал.Once VS Code opens, displaying your new hello folder in the left-side Explorer window, open a command line window in the bottom panel of VS Code by pressing Ctrl+` (using the backtick character) or selecting View > Terminal. После запуска VS Code в папке эта папка станет вашей рабочей областью.By starting VS Code in a folder, that folder becomes your «workspace». VS Code хранит параметры, относящиеся к этой рабочей области, в файле .vscode/settings.json. Они отделены от параметров пользователя, которые хранятся глобально.VS Code stores settings that are specific to that workspace in .vscode/settings.json, which are separate from user settings that are stored globally.

  3. Продолжайте работу с учебником в документации для VS Code: .Continue the tutorial in the VS Code docs: .

Оператор цикла for

Следующий и,
наверное, самый часто используемый оператор цикла – это оператор for, который имеет
такой синтаксис:

for <переменная> in <список> :
      операторы 1…N

Например,

for x in 1,5,2,4:
    print(x**2)

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

начальное
значение, шаг, конечное значение

Для этого
используется генератор последовательностей

range(start, stop, step)

Например, если
мы запишем его вот так:

for x in range(1,5,1):
    print(x)

то в консоли
увидим числа от 1 до 4 с шагом 1. То есть, range генерирует
последовательность в интервале

[1;5)

Последнее
значение не входит в интервал. Если в нашем примере поставить шаг отрицательный
-1, то конечное значение 5 не может быть достигнуто и в этом случае Python возвратит пустую
последовательность:

for x in range(1,5,-1):
    print(x)

Если нам нужны
числа от 5 до 1, то следует записывать range в таком виде:

for x in range(5,,-1):
    print(x)

Причем, в range можно записывать
только целые числа, с вещественными он не работает.

Давайте
перепишем нашу программу подсчета суммы

с помощью цикла for, получим:

S=
for i in range(1, 1001, 1):
    S += 1/i
print(S)

Здесь весь цикл
записан буквально в одну строчку, а тело цикла состоит из одного оператора –
подсчета суммы ряда.

Вторым примером
рассмотрим задачу вычисления значений линейной функции

Программа будет
выглядеть так:

k = 0.5; b = 2
lst = , 0.1, 0.2, 0.3, 0.4, 0.5
for x in lst:
    print(x*k+b)

Этот пример
показывает, что для перебора значений счетчика x можно
использовать списки, сформированные ранее в программе. (О списках мы подробнее
будем говорить на последующих занятиях). Здесь же приведем еще один пример:

msg = "Hello World!"
for x in msg:
    print(x)

Он показывает,
что строку можно воспринимать как список и перебирать с помощью цикла for.

Также в цикле for можно
использовать блок else, о котором мы говорили ранее:

for <переменная> in <список> :
      операторы 1…N
else:
      операторы 1…N

Python. Подробный справочник. 4-е издание (2010)

«Python. Подробный справочник» – это авторитетное руководство и детальный путеводитель по языку программирования Python. Книга предназначена для практикующих программистов; она компактна, нацелена на суть дела и написана очень доступным языком. Она детально описывает не только ядро языка, но и наиболее важные части стандартной библиотеки Python. Дополнительно освещается ряд тем, которые не рассматриваются ни в официальной документации, ни в каких-либо других источниках.

Читателю предлагается практическое знакомство с особенностями Python, включая генераторы, сопрограммы, замыкания, метаклассы и декораторы. Подробно описаны новые модули, имеющие отношение к разработке многозадачных программ, использующих потоки управления и дочерние процессы, а также предназначенные для работы с системными службами и организации сетевых взаимодействий.

Функциональный стиль в Python

В функциональном программировании вычисления выполняются путем объединения функций, которые принимают аргументы и возвращают конкретное значение (или значения). Эти функции не изменяют свои входные аргументы и не изменяют состояние программы. Они просто предоставляют результат данного вычисления. Такие функции обычно называются чистыми функциями (pure functions).

Теоретически программы, построенные с использованием функционального стиля, проще:

  • Разрабатывать, потому что вы можете кодировать и использовать каждую функцию изолированно
  • Отлаживать и тестировать, потому что вы можете тестировать и отлаживать отдельные функции, не глядя на остальную часть программы
  • Понимать, потому что вам не нужно иметь дело с изменениями состояния на протяжении всей программы

Функциональное программирование обычно использует списки, массивы и другие итерационные объекты для представления данных вместе с набором функций, которые работают с этими данными и преобразовывают их. Когда дело доходит до обработки данных в функциональном стиле, обычно используются как минимум три метода:

  1. Сопоставление (Mapping) заключается в применении функции преобразования к итерируемому объекту для создания нового объекта. Элементы в новой итерации создаются путем вызова функции преобразования для каждого элемента в исходной итерации.
  2. Фильтрация (Filtering) состоит из применения предиката или булевозначной функции (predicate or Boolean-valued function) к итерируемому объекту для создания нового итерируемого объекта. Элементы в новой итерации создаются путем фильтрации любых элементов в исходной итерации, которые заставляют функцию предиката возвращать false.
  3. Сокращение (Reducing) состоит из применения функции reduce к итерируемому объекту для получения единственного накопленного значения.

По словам Гвидо ван Россума, на Python в большей степени влияют императивные языки программирования, чем функциональные языки:

Однако еще в 1993 году сообщество Python требовало некоторых функций функционального программирования. Они просили:

  • Анонимные функции
  • Функцию 
  • Функцию  
  • Функцию  

Эти функциональные возможности были добавлены в язык благодаря участию многих членов сообщества. В настоящее время  ,  и  являются фундаментальными компонентами стиля функционального программирования в Python.

В этом руководстве мы рассмотрим одну из этих функциональных возможностей — встроенную карту функций map(). Вы также узнаете, как использовать составные части списковых включений (comprehensions) и выражения генератора (generator expressions), чтобы получить ту же функциональность, что и map(), в питоническом и удобочитаемом виде.

Создание простой игры с помощью PygameCreate a simple game with Pygame

Pygame — это популярный пакет Python для создания игр, который позволяет учащимся изучать программирование увлекательным способом.Pygame is a popular Python package for writing games — encouraging students to learn programming while creating something fun. Pygame отображает графические изображения в новом окне, поэтому метод «только командной строки» WSL не подойдет.Pygame displays graphics in a new window, and so it will not work under the command-line-only approach of WSL. Но если вы установили Python с помощью Microsoft Store, как описано в этом учебнике, все получится.However, if you installed Python via the Microsoft Store as detailed in this tutorial, it will work fine.

  1. После установки Python установите Pygame из командной строки (или терминала в VS Code), введя .Once you have Python installed, install pygame from the command line (or the terminal from within VS Code) by typing .

  2. Протестируйте установку, запустив пример игры: Test the installation by running a sample game :

  3. Если все в порядке, откроется окно игры.All being well, the game will open a window. По завершении игры закройте окно.Close the window when you are done playing.

Вот как начать написание кода собственной игры:Here’s how to start writing your own game.

  1. Откройте PowerShell (или командную строку Windows) и создайте пустую папку с именем bounce.Open PowerShell (or Windows Command Prompt) and create an empty folder called «bounce». Перейдите к этой папке и создайте файл с именем bounce.py.Navigate to this folder and create a file named «bounce.py». Откройте папку в VS Code:Open the folder in VS Code:

  2. С помощью VS Code введите следующий код Python (или скопируйте и вставьте его):Using VS Code, enter the following Python code (or copy and paste it):

  3. Сохраните его как: .Save it as: .

  4. Запустите его в терминале PowerShell, введя: .From the PowerShell terminal, run it by entering: .

Попробуйте изменить некоторые из чисел, чтобы увидеть, как они влияют на прыгающий шарик.Try adjusting some of the numbers to see what effect they have on your bouncing ball.

Дополнительные сведения о создании игр с помощью Pygame см. на сайте pygame.org.Read more about writing games with pygame at pygame.org.

Магические методы

Python позволяет вам определять методы для основных операций для пользовательских типов данных. Следовательно, вы можете использовать стандартные операции (+, -, *, / и т.д.) для своих собственных классов.

Например, если вы напишете класс, который хранит длину вместе с единицей (см, м, дюйм и т.д.), вы можете определить метод __add(self, other)__ в своем коде и обработать нечисловую информацию вместе с номером и правильно добавить две разные длины (то есть дюймы и метры).

Вы также можете определить магические методы для сравнения, которые позволят вам напрямую сравнивать два объекта, используя операторы <,>, == и т.д. вместо необходимости вызывать метод.

Магические методы также используются для определения конструктора в классе, и они имеют много других применений. Полный список смотрите в официальной документации Python.

Разработка геоприложений на языке Python (2017)

Написание геопространственных программ предполагает решение таких задач, как группирование данных по географическому положению, хранение и анализ больших массивов информации, выполнение сложных расчетов и построение красочных интерактивных карт.

Книга предоставляет обзор главных геопространственных понятий, источников геоданных и наборов инструментов для геообработки. Рассмотрены приемы хранения и доступа к пространственным данным. Показано создание собственного интерфейса со скользящей картой в рамках веб-приложения. Подробно описано создание редактора геоданных на основе географического модуля GeoDjango для веб-платформы Django.

6 преимуществ Python

  1. Легко читаемый код — синтаксис языка построен таким образом, что он не позволяет писать «некрасивый» и неструктурированный код. Программа на Python выглядит как английский текст.
  2. Переносимость языка — Python является интерпретируемым языком и работает под виртуальной машиной, а это означает, что его можно запускать на разных платформах: MacOS, Linux, Windows, Android, iOS и прочих.
  3. Ускоренный цикл разработки — языку Python, в отличие от компилируемых языков программирования, таких как С, С++, С#, не нужно время на сборку и компиляцию программы, поэтому программа на Python быстро запускается и сразу показывает результат.
  4. Множество пакетов — язык имеет большое количество готовых решений и пакетов.
  5. Поддержка всех стилей программирования — императивный (приказной), объектный, функциональный.
  6. Низкий порог входа — за несколько дней можно начать писать свои первые программы.

Условные операторы

Python поддерживает дополнительный метод принятия решений, называемую условным выражением. (Он также упоминается как условный оператор или тернарный оператор в различных местах документации Python).

В своей простейшей форме синтаксис условного выражения выглядит следующим образом:

<expr1> if <conditional_expr> else <expr2>

Это отличается от форм операторов , перечисленных выше, потому что это не управляющая структура направляет поток выполнения программы. Он действует скорее как оператор, определяющий выражение. В приведенном выше примере сначала вычисляется . Если истина, то выражение вычисляется как . Если ложь, то выражение вычисляется как .

Обратите внимание на не очевидный порядок: сначала вычисляется среднее выражение, и на основе этого результата возвращается одно из выражений на концах. Вот несколько примеров, которые, надеюсь, помогут прояснить ситуацию:

raining = False
print("Let's go to the", 'beach' if not raining else 'library')

raining = True
print("Let's go to the", 'beach' if not raining else 'library')


age = 12
s = 'minor' if age < 21 else 'adult'
s


'yes' if ('qux' in ) else 'no'

Примечание: условное выражение Python аналогично синтаксису ? : , используемому многими другими языками-C, Perl и Java. На самом деле, оператор ?: обычно называют тернарным оператором в этих языках, что, вероятно, является причиной того, что условное выражение Python иногда называют тернарным оператором Python.

Обычно условное выражение используется для выбора назначения переменной. Например, предположим, что вы хотите найти большее из двух чисел. Конечно, есть встроенная функция max (), которая делает именно это (и многое другое), что вы могли бы использовать. Но предположим, вы хотите написать свой собственный код с нуля.

Вы можете использовать стандартный оператор с предложением :

if a > b:
    m = a
else:
    m = b

Но условный оператор короче и, возможно, более читабельнее:

m = a if a > b else b

Не забывайте, что условное выражение ведет себя как синтаксическое выражение. Его можно использовать как часть более длинного выражения. Условное выражение имеет более низкий приоритет, чем практически все остальные операторы, поэтому для его группировки необходимы круглые скобки.

В следующем примере оператор + связывается более плотно, чем условное выражение, поэтому сначала вычисляются +x и y + 2, а затем условное выражение. Скобки во втором случае не нужны и результат не меняется:

x = y = 40

z = 1 + x if x > y else y + 2
z


z = (1 + x) if x > y else (y + 2)
z

Если вы хотите, чтобы условное выражение было вычислено первым, вам нужно окружить его группирующими скобками. В следующем примере сначала вычисляется (x, если x > y, иначе y). В результате получается y, который равен 40, поэтому присваивается z 1 + 40 + 2 = 43:

x = y = 40

z = 1 + (x if x > y else y) + 2
z

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

Условные выражения также используют оценку короткого замыкания, как и составные логические выражения. Части условного выражения не вычисляются, если в этом нет необходимости.

В выражении , если иначе :

Если <conditional_expr> правда, <expr1> и <expr2> не вычисляется.
Если <conditional_expr> имеет значение false, то возвращается <expr2> и <expr1> не вычисляется.

Вы можете проверить это, используя термины, которые вызвали бы ошибку:

'foo' if True else 1/0

1/0 if False else 'bar'

В обоих случаях условия 1/0 не оцениваются, поэтому никаких исключений не возникнет.

Условные выражения также могут быть объединены вместе, как своего рода альтернативная структура , как показано здесь:

s = ('foo' if (x == 1) else
     'bar' if (x == 2) else
     'baz' if (x == 3) else
     'qux' if (x == 4) else
     'quux'
)
s

Неясно, имеет ли это какое-либо существенное преимущество перед соответствующим оператором , но это синтаксически правильно для Python.

Работа с базовыми функциями

Разберём, как устроены базовые функции в Python.

Чтобы записать в переменную V сумму 1 и 1, мы напишем так:

Если мы захотим напечатать переменную V, мы используем функцию:

Напоминаем, что в Python мы не пишем тип переменных.

При спуске этот код выведет нам 2.

Если вы забыли, что делает функция, или нашли новую, вам поможет команда help (): она выпишет основную информацию о функции. Если мы используем ее на функцию print (), это будет выглядеть так:

В программировании мы будем много работать с числами. Все основные математические операции записываются в Python привычным образом, примерно как в калькуляторе:

Есть и операции поинтереснее, менее очевидные:

Иногда в Python можно встретить артефакты вроде такого:

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

Вывод текста. Уже сложилась традиция, что первые слова, которые человек выписывает кодом, это «Hello, World!». Сделаем это и мы.

Мы уже выводили выше переменную, теперь выведем текст. Сделать это в Python очень просто:

Иногда (например, в цикле) надо выводить одно и то же с небольшим изменением. Для этого используется форматированный вывод. Это делается так: заменим часть, которая будет меняться, фигурными скобками, а за фразой напишем .format (). В скобки вставим переменную с нужным значением. Вот как это выглядит:

В некоторых версиях Python можно сделать то же самое и другим способом:

Результат будет один и тот же. Если у вас работают обе версии, то делайте так, как вам больше нравится.

Как устроены операции сравнения в Python

  1. Операции сравнения будут возвращать ответ в виде правда/неправда: True/False.
  2. Для проверки на равенство используются два знака «равно».
  3. Для проверки на неравенство используется восклицательный знак (знак отрицания) со знаком «равно».

Например:

Коллекции в Python

Python не реализует массивы так, как это делают другие языки, такие как C и Java. Вместо этого используются списки с переменной длиной и смешанными типами данных. Тем не менее, вы можете определить массивоподобные структуры для числовых типов данных:

import array as python_array

a = python_array.array('d', )

К элементам можно получить доступ, используя их индекс:

print(a)
print(a)

a = 2222

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

print(len(a)) # вывести длину массива

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

# Add three elements to the end of the array
# Добавление элементов в конец массива
a.append(10)
a.append(20)
a.append(30)

# Remove the first three element
# Удаляем первые три элемента
a.pop(0)

Полный список функций смотрите в официальной документации Python.

Массив, упомянутый выше, представляет собой оптимизированную специальную форму списка, которая принимает только числовые значения того же типа. Поэтому список может использоваться точно так же, как массив, но вы не ограничены использованием одного типа данных:

li = ]

Как видите, «li» может содержать что угодно в любое время. Все остальные функции, упомянутые выше, работают точно так же, как и для массивов.

Другой тип коллекции — это кортеж. В отличие от элементов в списке, элементы в кортеже не могут быть изменены при инициализации:

# Note the round brackets instead of the square ones
# Обратите внимание на круглые скобки вместо квадратных
tu = (1, 2, 3, «cat», «dog», «parrot»)

Операции вставки, обновления и удаления не будут работать, но элементы по-прежнему будут доступны с помощью их индекса.

Следующая важная структура данных — это множество. Элементы, содержащиеся в нем, не могут быть проиндексированы, как раньше, но вы всегда можете добавить новые элементы и удалить существующие из него. Вы также можете проверить, является ли значение элементом множества:

s = {"pie", "bread", "steak"}

print(s.pop())

s.add(30)

print(len(s))

s.pop()

print(len(s))

Функция pop() здесь не принимает никаких параметров и возвращает удаленный элемент. Вы можете вставить новые элементы с помощью метода add(). Опять же, полный список функций смотрите в .

Последняя структура данных — это словарь. Эта коллекция связывает два значения вместе в отношении ключ-значение, где на каждое значение можно ссылаться, используя уникальный ключ:

telephone_book = {
	"Peter":9238172,
	"Laura":1119823,
	"Mark":9952174,
	"Liz":8009822
}

print("Laura\'s phone number is:")
print(telephone_book)

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

telephone_book = 5557281

print("Ben\'s phone number is:")
print(telephone_book)

Вы можете использовать pop() вместе с ключом, чтобы удалить объект, как со списками.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector