Начинаем программировать на Python
Рассказываем, зачем учить Python и как это поможет при работе в Data Science. Идём пошагово: от установки дистрибутива до первых практических опытов.
Статья подготовлена на основе нашего вебинара с Валентином Пановским.
В бэкграунде — программирование, французский язык, академическое рисование, капоэйра. Сейчас учит финский. Любит путешествия и Балтийское море.
Python — высокоуровневый язык программирования, названный так в честь британского комедийного телешоу «Летающий цирк Монти Пайтона».
Зачем учить Python, где и кому он нужен
Почему именно Python? Причин много:
Data Science, или наука о данных, сочетает в себе математику, статистику, IT и знания о бизнесе. Python фактически стал отраслевым стандартом в Data Science: чаще всего разработка ведётся именно на нём. Специалисты в этой области занимаются анализом данных и работают над их визуализацией. Data Science сейчас быстро развивается, поэтому разработчики нужны компаниям всё чаще.
Особенности Python
Плюсы:
Минусы:
Важная особенность: в Python не указывается тип переменных. Это даёт большую гибкость, потому что в одну переменную можно записать сначала int (целое число), а потом float (число с плавающей точкой) или str (строка, текст), и тип поменяется сам. За эту гибкость, к сожалению, приходится расплачиваться скоростью.
По Python много мануалов как на английском, так и на русском языке. Однако знание английского вам сильно поможет: во-первых, большинство команд переводится с английского буквально (если вы знаете язык, вам не придётся их зубрить), а во-вторых, подсказки к командам и описания ошибок выводятся тоже на английском.
Начало работы в Python
Чтобы начать программировать, нужно скачать и установить дистрибутив. Для новичков хорошо подойдёт Anaconda.
Хочу научиться программировать на Python. С чего начать?
Авторизуйтесь
Хочу научиться программировать на Python. С чего начать?
Рассказываем, как действовать, если вы решили освоить Python 3 с нуля: что учить в первую очередь, где брать знания и что делать дальше?
Зачем учить Python?
Python имеет ряд преимуществ:
Среди главных особенностей — динамическая типизация, проблемы с совместимостью версий, а также низкая скорость выполнения кода по сравнению с другими языками программирования. Если вы учите Python не первым языком, синтаксис может показаться вам непривычным.
Python для создания продуктов используют такие корпорации, как Google, Dropbox, Mozilla, Facebook, Yandex, Red Hat, Microsoft, Intel и другие.
Что учить?
Синтаксис
Дополнительно
IDE и редакторы кода
Писать в IDLE или Python Shell удобно только простой код, но для проектов лучше найти интегрированную среду разработки (IDE) или редактор кода. IDE включает в себя редактор с подсветкой синтаксиса и автодополнением, инструменты сборки, выполнения и отладки и другие функции. В большинстве редакторов есть подсветка синтаксиса и форматирование, выполнение и отладка кода. Как правило, этот инструмент работает быстрее IDE, но имеет меньше функций. Среди самых популярных платформ — PyCharm, Wing IDE, Komodo и другие. Больше вариантов — в нашем обзоре.
С распределенной системой управления версиями (Git) нужно познакомиться в начале обучения. Среди основных навыков — создание и перемещение файлов в каталогах, инициализация Git-репозитория и создание коммитов, а также настройка репозиториев в GitHub.
Где учить?
Попробуйте каждый из инструментов. После пары первых уроков будет ясно, подходит он вам или нет.
Начало работы с Python в Windows для начинающих
Это пошаговое руководство для начинающих работу с Python в Windows 10.
Настройка среды разработки
Для начинающих, которые не знакомы с Python, рекомендуется установить Python из Microsoft Store. При установке из Microsoft Store используется базовый интерпретатор Python3, но в дополнение к автоматическому обновлению также настраиваются параметры пути для текущего пользователя (без необходимости доступа администратора). Это особенно полезно, если вы работаете из среды образовательного учреждения или являетесь частью организации, которая ограничивает разрешения или административный доступ на компьютере.
Если вы используете Python в Windows для разработки веб-приложений, мы рекомендуем настроить среду разработки другим образом. Вместо установки непосредственно в Windows рекомендуется установить и использовать Python через подсистему Windows для Linux. Справочные сведения см. в следующих статьях: Начало работы с Python для разработки веб-приложений в Windows. Если вы заинтересованы в автоматизации общих задач в операционной системе, ознакомьтесь с нашим руководством: Начало работы с Python в Windows для создания сценариев и автоматизации В некоторых сложных сценариях (например, при необходимости модификации или доступа к установленным файлам Python, создания копий двоичных файлов или непосредственного использования библиотек DLL Python) может потребоваться загрузить определенный выпуск Python непосредственно с сайта python.org или установить альтернативное средство, например Anaconda, Jython, PyPy, WinPython, IronPython и т. д. Мы рекомендуем это только в том случае, если вы более продвинутый программист на Python и у вас есть конкретная причина выбрать альтернативную реализацию.
Установка Python
Чтобы установить Python с помощью Microsoft Store, сделайте следующее:
Перейдите в меню Пуск (значок Windows в нижнем левом углу), введите «Microsoft Store» и щелкните ссылку, чтобы открыть магазин.
Когда магазин откроется, выберите Поиск в верхнем правом меню и введите «Python». Выберите, какую версию Python вы хотите использовать, из результатов в разделе «Приложения». Мы рекомендуем использовать самую последнюю версию, если только у вас нет причин для обратного (например, по причине согласования с версией, использованной в уже существующем проекте, над которым вы планируете работать). Определив, какую версию вы хотите установить, выберите Получить.
Установка Visual Studio Code
При использовании VS Code в качестве текстового редактора или интегрированной среды разработки (IDE) вам доступны IntelliSense (помощь в завершении кода), анализ кода (помогает избежать ошибок в коде), поддержка отладки (помогает находить ошибки в коде после запуска), фрагменты кода (шаблоны для небольших повторно используемых блоков кода) и модульное тестирование (тестирование интерфейса кода с различными типами входных данных).
VS Code также содержит встроенный терминал, который позволяет открывать командную строку Python с помощью командной строки Windows, PowerShell или любой другой, создавая простой рабочий процесс между редактором кода и командной строкой.
Чтобы установить VS Code, скачайте VS Code для Windows: https://code.visualstudio.com.
Установив VS Code, необходимо также установить расширение Python. Для установки расширения Python можно выбрать ссылку на VS Code в Marketplace или открыть VS Code и выполнить поиск по фразе Python в меню расширений (Ctrl+Shift+X).
Python — интерпретируемый язык, и для выполнения кода Python необходимо указать VS Code, какой интерпретатор нужно использовать. Мы рекомендуем использовать самую последнюю версию Python, если у вас нет особой причины для обратного. После установки расширения Python выберите интерпретатор Python 3, открыв палитру команд (CTRL+SHIFT+P), и начните вводить команду Python: Select Interpreter (Python: выбор интерпретатора) для поиска, а затем выберите появившуюся команду. Вы также можете использовать параметр Select Python Environment (Выбрать среду Python) в нижней строке состояния, если она доступна (возможно, уже отображается выбранный интерпретатор). Команда предоставляет список доступных интерпретаторов, которые VS Code может найти автоматически, включая виртуальные среды. Если нужный интерпретатор не отображается, перейдите к статье о настройке сред Python.
чтобы открыть терминал в VS Code, выберите просмотреть терминалили используйте сочетание клавиш Ctrl + ‘ (с помощью символа обратной кавычки). Терминалом по умолчанию является PowerShell.
В окне терминала VS Code откройте Python, просто введя команду: python
Установка Git (необязательно)
Если вы планируете совместно работать над кодом Python с другими пользователями или размещать проект на сайте с открытым исходным кодом (например, GitHub), примите во внимание, что VS Code поддерживает управление версиями с помощью Git. Вкладка системы управления версиями в VS Code отслеживает все изменения и содержит общие команды Git (добавление, фиксация, принудительная отправка, извлечение) прямо в пользовательском интерфейсе. Сначала необходимо установить Git для включения панели управления версиями.
Скачайте и установите Git для Windows с веб-сайта git-scm.
В комплект входит мастер установки, который задает вам ряд вопросов о параметрах установки Git. Рекомендуется использовать все параметры по умолчанию, если у вас нет конкретной причины изменить какой-либо из них.
Если вы никогда не использовали Git, обратитесь к руководствам по GitHub. Они помогут вам приступить к работе.
Учебник по некоторым основам работы с Python (на примере Hello World)
Python, согласно его создателю Гвидо ван Россуму, — это «язык программирования высокого уровня, и его основная философия проектирования — это удобочитаемость кода и синтаксис, позволяющий программистам выразить концепции в нескольких строках кода».
Python — интерпретируемый язык. В отличие от скомпилированных языков, в которых написанный код необходимо перевести в машинный код для выполнения процессором компьютера, код Python передается непосредственно интерпретатору и запускается напрямую. Просто введите код и запустите его. Попробуем сделать это!
Надеемся, вам понравилось использовать некоторые из встроенных в Python методов модификации строк. Теперь попробуйте создать файл программы Python и запустить его с помощью VS Code.
Учебник по использованию Python с VS Code (на примере Hello World)
Команда VS Code составила отличный учебник по началу работы с Python с пошаговым руководством по созданию программы Hello World с помощью Python, запуску программного файла, настройке и запуску отладчика, а также установке пакетов, таких как matplotlib и numpy, для создания графического изображения в виртуальной среде.
Откройте PowerShell и создайте пустую папку с именем hello, перейдите в эту папку и откройте ее в VS Code:
Продолжайте работу с учебником в документации для VS Code: Сведения о создании файла исходного кода для Hello World на Python.
Создание простой игры с помощью Pygame
Pygame — это популярный пакет Python для создания игр, который позволяет учащимся изучать программирование увлекательным способом. Pygame отображает графические изображения в новом окне, поэтому метод «только командной строки» WSL не подойдет. Но если вы установили Python с помощью Microsoft Store, как описано в этом учебнике, все получится.
Если все в порядке, откроется окно игры. По завершении игры закройте окно.
Вот как начать написание кода собственной игры:
Откройте PowerShell (или командную строку Windows) и создайте пустую папку с именем bounce. Перейдите к этой папке и создайте файл с именем bounce.py. Откройте папку в VS Code:
С помощью VS Code введите следующий код Python (или скопируйте и вставьте его):
Попробуйте изменить некоторые из чисел, чтобы увидеть, как они влияют на прыгающий шарик.
Дополнительные сведения о создании игр с помощью Pygame см. на сайте pygame.org.
Материалы для непрерывного обучения
Мы рекомендуем использовать следующие ресурсы, чтобы продолжить изучение разработки на Python в Windows.
Онлайн-курсы для изучения Python
Введение в Python на Microsoft Learn. Попробуйте интерактивную платформу Microsoft Learn и получите навыки выполнения этого модуля, охватывающего основы написания базового кода Python, объявления переменных и работы с входными и выходными данными консоли. Интерактивная среда песочницы предоставляет эту отличную возможность начать пользователям, у которых еще не настроена среда разработки Python.
Python на Pluralsight: 8 курсов, 29 часов. Схема обучения Python на Pluralsight предлагает онлайн-курсы, охватывающие различные темы, связанные с Python, включая средство для измерения навыков и поиска пробелов в знаниях.
Учебники на сайте LearnPython.org. Приступите к изучению Python без необходимости дополнительной установки или настройки с помощью этих бесплатных интерактивных учебников по Python от DataCamp.
Учебники на сайте Python.org. Предоставляют читателям неформальное описание основных понятий и функций языка и системы Python.
Работа с Python в VS Code
Редактирование Python в VS Code. Узнайте больше о том, как воспользоваться преимуществами автозаполнения VS Code и поддержкой IntelliSense для Python, включая их настройку или отключение.
Анализ кода Python. Анализ кода — это процесс запуска программы, которая будет анализировать код на наличие возможных ошибок. Узнайте о различных формах поддержки анализа кода VS Code для Python и о том, как выполнить его настройку.
Отладка Python. Отладка — это процесс обнаружения и удаления ошибок из компьютерной программы. В статье по этой ссылке описывается инициализация и настройка отладки для Python с помощью VS Code, установка и проверка точек останова, присоединение локального скрипта, выполнение отладки для различных типов приложений или на удаленном компьютере, а также некоторые основные способы устранения неполадок.
Модульное тестирование Python. В статье по этой ссылке содержатся некоторые основные сведения о модульном тестировании, включении платформы тестирования, создании и выполнении тестов, отладке тестов и параметрах конфигурации теста, а также приведено пошаговое руководство с примером.
Как начать программировать на Python
Если вы не знаете, с какого языка начать изучать программирование, — почитайте, что думает об освоении Python программист Skillbox Вадим Шандринов.
6 преимуществ Python
Python и другие языки
В 2017 году Ассоциация инженеров электротехники и электроники IEEE (I triple E, «Ай трипл и») провела опрос на тему популярности языков программирования, и по его результатам Python занял лидирующие позиции.
Возможности Python-разработчика
Кто программирует на Python
Компания Google создает свои версии языка и фреймворков. Серверная часть Instagram написана на Python с использованием фреймворка Django. «Яндекс» использует Python для различных внутренних решений, например, в «Яндекс.Картах». В NASA пишут программы для анализа проходящих полетов, различные скрипты для автоматизации вычислительных процессов. Облачное хранилище Dropbox полностью написано на Python, и, кстати, разработчик и создатель языка Гвидо Ван Россум сейчас работает именно там.
Как начать работу с Python
Начать писать программы на Python очень просто, для этого нужно:
После установки дистрибутива запускаем консоль Python через появившийся ярлык в меню «Пуск» и тестируем работоспособность: например, вводим выражение «2 + 2». Если видим результат 4, значит, все работает.
Работать в консоли не очень удобно, поэтому закроем ее, перейдем в текстовый редактор Sublime Text3 и настроим его для работы.
Пишем скрипт для рисования
В данном примере мы напишем скрипт, который будет рисовать дерево. Для работы с графикой в открытом доступе существует специальная Python-библиотека simple_draw. Чтобы установить ее, необходимо открыть командную строку (cmd) и прописать в ней команду pip install simple_draw.
Для начала мы указываем, что хотим импортировать в нашу программу библиотеку simple_draw. Затем задаем разрешение окна для отрисовки —1200 на600 пикселей.
Далее создаем переменную point (точка) и с помощью метода (функции) get_point задаем начальную точку, из который будет выходить вектор, —600 пикселей от левого края экрана и 5 пикселей от низа экрана.
Чтобы создать объект Vector, нужно задать ему такие параметры, как точка начала вектора — point, угол отклонения — angle (90 градусов), длина — length (100 пикселей) и толщина линии — width (3 пикселя). Как видно из кода, все эти переменные можно записать в одну строчку.
Переменная vector_1 будет содержать в себе объект — вектор, а чтобы отрисовать его в окне, применим к нему метод draw (рисовать). Сохраним и запустим скрипт.
Данная функция создает вектор с теми параметрами, которые ей передаются в скобках, отрисовывает его, а затем возвращает конечную точку отрисованного вектора (vector.end_point), угол отклонения, который на30 градусов меньше предыдущего (angle –30), длину вектора, немного меньшую исходной (length*0.8) и ширину (width). Попробуем с ее помощью создать несколько новых ветвей.
Мы нарисовали4 вектора. Каждый последующий вектор исходит от конца предыдущего и отличается длиной и углом отклонения, тем самым формируя изгиб ветви дерева. Но если мы снова представим реальное дерево, то чтобы отрисовать его, потребуется еще множество векторов. Задача программиста — написать как можно более компактный, универсальный и красивый код.
Поэтому сейчас пора освоить такую важную вещь, как рекурсия. Рекурсия — это когда функция внутри своего тела вызывает саму себя. Сократим немного код и перепишем функцию.
Чтобы функция до бесконечности не вызывала саму себя, нужно установить ей условие, при котором она будет останавливать выполнение. То есть мы указываем, что когда длина вектора при очередном вызове окажется меньше10 пикселей, то функция завершит свое выполнение и дальше ветви рисовать не будет.
Теперь сделаем так, чтобы с конца каждой ветви дерева исходили вправо и влево другие ветви, меньшего размера. Для этого в тело функции нужно добавить еще один вызов самой себя, в котором параметр angle будет увеличиваться на30 градусов. Таким образом ветви будут отрисовываться и вправо (angle –30), и влево (angle +30).
Добавим немного красоты нашему дереву и сделаем так, чтобы цвет каждой ветви генерировался случайным образом. Для этого внутри функции vector.draw() в скобках укажем параметр simple_draw.random_color() — это функция, которая возвращает случайный цвет.
Таким образом, конечный код выглядит следующим образом:
Запустим на выполнение и получим красивое, разноцветное дерево.
Как видите, небольшая функция за нас сделала всю работу. Изменив ее параметры и немного «поиграв» с кодом, можно добиться различных форм и видов деревьев.
Заключение
Python — очень перспективный и востребованный язык. Рассмотрев наглядный пример, мы видим, что его синтаксис и правда прост, а код — легко читаем. О возможностях и преимуществах перед другими языками мы тоже успели поговорить.
В ряды Python-разработчиков постоянно вступают новые программисты, расширяя и без того немалую базу знаний и открытого исходного кода. Надеемся, что после прочтения статьи вы тоже всерьез задумаетесь об изучении языка Python и выберите его в качестве основного. А заняться им вы сможете на курсе «Python-разработчик с нуля (2018)» от компании Skillbox.
Ведущий программист Skillbox, опыт программирования на Python — более 16 лет. Ведет обучающий курс по этому языку.
Введение в Python
В данной статье мы затронем основы Python. Мы все ближе и ближе к цели, в общем, скоро приступим к работе с основными библиотеками для Data Science и будем использовать TensorFlow (для написания и развертывания нейросетей, тобишь Deep Learning).
Установка
Python можно скачать с python.org. Однако если он еще не установлен, то вместо
него рекомендую дистрибутивный пакет Anaconda, который уже включает в себя большинство библиотек, необходимых для работы в области науки о данных.
Если вы не используете дистрибутив Anaconda, то не забудьте установить менеджер пакетов pip, позволяющий легко устанавливать сторонние пакеты, поскольку некоторые из них нам понадобятся. Стоит также установить намного более удобную для работы интерактивную оболочку IPython. Следует учитывать, что дистрибутив Anaconda идет вместе с pip и IPython.
Пробельные символы
Во многих языках программирования для разграничения блоков кода используются
фигурные скобки. В Python используются отступы:
Это делает код легко читаемым, но в то же время заставляет следить за форматированием. Пробел внутри круглых и квадратных скобок игнорируется, что облегчает написание многословных выражений:
и легко читаемого кода:
Для продолжения оператора на следующей строке используется обратная косая черта, впрочем, такая запись будет применяться редко:
В следствие форматирования кода пробельными символами возникают трудности при копировании и вставке кода в оболочку Python. Например, попытка скопировать следующий код:
в стандартную оболочку Python вызовет ошибку:
потому что для интерпретатора пустая строка свидетельствует об окончании блока кода с циклом for.
Оболочка IPython располагает «волшебной» функцией %paste, которая правильно вставляет все то, что находится в буфере обмена, включая пробельные символы.
Модули (Импортирование библиотек)
Некоторые библиотеки среды программирования на основе Python не загружаются по умолчанию. Для того чтобы эти инструменты можно было использовать, необходимо импортировать модули, которые их содержат.
Один из подходов заключается в том, чтобы просто импортировать сам модуль:
Здесь re — это название модуля, содержащего функции и константы для’ работы с регулярными выражениями. Импортировав таким способом весь модуль, можно обращаться к функциям, предваряя их префиксом re.
Если в коде переменная с именем re уже есть, то можно воспользоваться псевдонимом модуля:
Псевдоним используют также в тех случаях, когда импортируемый модуль имеет громоздкое имя или когда в коде происходит частое обращение к модулю.
Например, при визуализации данных на основе модуля matplotlib для него обычно
используют следующий стандартный псевдоним:
Если из модуля нужно получить несколько конкретных значений, то их можно импортировать в явном виде и использовать без ограничений:
Функции
Функция — это правило, принимающее ноль или несколько входящих аргументов и возвращающее соответствующий результат. В Python функции обычно определяются при помощи оператора def:
Функции в Python рассматриваются как объекты первого класса. Это означает, что их можно присваивать переменным и передавать в другие функции так же, как любые другие аргументы:
Кроме того, можно легко создавать короткие анонимные функции или лямбда выражения:
Лямбда-выражения можно присваивать переменным. Однако рекомендуют пользоваться оператором def:
Параметрам функции, помимо этого, можно передавать аргументы по умолчанию, которые следует указывать только тогда, когда ожидается значение, отличающееся от значения по умолчанию:
Иногда целесообразно указывать аргументы по имени:
В дальнейшем функции будут использоваться очень часто.
Строки
Символьные строки (или последовательности символов) с обеих сторон ограничиваются одинарными или двойными кавычками (они должны совпадать):
Обратная косая черта используется для кодирования специальных символов. Например:
Если требуется непосредственно сама обратная косая черта, которая встречается
в именах каталогов в операционной системе Windows, то при помощи r ‘»‘ можно создать неформатированную строку:
Многострочные блоки текста создаются при помощи тройных одинарных (или
двойных) кавычек:
Исключения
Когда что-то идет не так, Python вызывает исключение. Необработанные исключения приводят к непредвиденной остановке программы. Исключения обрабатываются при помощи операторов try и except:
Хотя во многих языках программирования использование исключений считается плохим стилем программирования, в Python нет ничего страшного, если он используется с целью сделать код чище, и мы будем иногда поступать именно так.
Списки
Наверное, наиважнейшей структурой данных в Python является список. Это просто упорядоченная совокупность (или коллекция), похожая на массив в других языках программирования, но с дополнительными функциональными возможностями.
Устанавливать значение и получать доступ к n-му элементу списка можно при помощи квадратных скобок:
Помимо этого, квадратные скобки применяются для «нарезки» списков:
В Python имеется оператор ln, который проверяет принадлежность элемента списку:
Проверка заключается в поочередном просмотре всех элементов, поэтому пользоваться им стоит только тогда, когда точно известно, что список небольшой или неважно, сколько времени уйдет на проверку.
Списки легко сцеплять друг с другом:
Если нужно оставить список х без изменений, то можно воспользоваться сложением списков:
Обычно к спискам добавляют по одному элементу за одну операцию:
Нередко бывает удобно распаковать список, если известно, сколько элементов в нем содержится:
Если с обеих сторон выражения число элементов не одинаково, то будет выдано сообщение об ошибке ValueError.
Для отбрасываемого значения обычно используется символ подчеркивания:
Кортежи
Кортежи — это неизменяемые (или иммутабельные) двоюродные братья списков.
Практически все, что можно делать со списком, не внося в него изменения, можно делать и с кортежем. Вместо квадратных скобок кортеж оформляют круглымискобками, или вообще обходятся без них:
Кортежи обеспечивают удобный способ для возвращения из функций нескольких значений:
Кортежи (и списки) также используются во множественном присваивании:
Словари
Словарь или ассоциативный список — это еще одна основная структура данных.
В нем значения связаны с ключами, что позволяет быстро извлекать значение, соответствующее конкретному ключу:
Доступ к значению по ключу можно получить при помощи квадратных скобок:
При попытке запросить значение, которое в словаре отсутствует, будет выдано сообщение об ошибке KeyError:
Проверить наличие ключа можно при помощи оператора in:
Словари имеют метод get(), который при поиске отсутствующего ключа вместо вызова исключения возвращает значение по умолчанию:
Присваивание значения по ключу выполняется при помощи тех же квадратных скобок:
Словари часто используются в качестве простого способа представить структурные
данные:
Помимо поиска отдельных ключей можно обратиться ко всем сразу:
Ключи должны быть неизменяемыми; в частности, в качестве ключей нельзя использовать списки. Если нужен составной ключ, то лучше воспользоваться кортежем или же найти способ, как преобразовать ключ в строку.
Словарь defaultdict
Пусть в документе необходимо подсчитать слова. Очевидным решением задачи является создание словаря, в котором ключи — это слова, а значения — частотности слов (или количества вхождений слов в текст). Во время проверки слов в случае, если текущее слово уже есть в словаре, то его частотность увеличивается, а если отсутствует, то оно добавляется в словарь:
Кроме этого, можно воспользоваться nриемом под названием «лучше просить прощения, чем разрешения» и перехватывать ошибку при попытке обратиться к отсутствующему ключу:
Третий прием — использовать метод get(), который изящно выходит из ситуации с отсутствующими ключами:
Все перечисленные приемы немного громоздкие, и по этой причине целесообразно использовать словарь defaultdict (который еще называют словарем со: значением по умолчанию). Он похож на обычный словарь за исключением одной особенности — при попытке обратиться к ключу, которого в нем нет, он сперва добавляет для него значение, используя функцию без аргументов, которая предоставляется при его создании. Чтобы воспользоваться словарями defaultdict, их необходимо импортировать из модуля collections:
Кроме того, использование словарей defaultdict имеет практическую пользу во время работы со списками, словарями и даже с пользовательскими функциями:
Эти возможности понадобятся, когда словари будут использоваться для «сбора»
результатов по некоторому ключу и когда необходимо избежать повторяющихся
проверок на присутствие ключа в словаре.
Словарь Counter
Подкласс словарей counter трансформирует последовательность значений в похожий на словарь defaultdict(int) объект, где ключам поставлены в соответствие частотности или, выражаясь более точно, ключи отображаются (map) в частотности.
Он в основном будет применяться при создании гистограмм:
Его функционал позволяет достаточно легко решить задачу подсчета частотностей слов:
Словарь counter располагает методом most_common( ), который нередко бывает полезен:
Множества
Структура данных set или множество представляет собой совокупность неупорядоченных элементов без повторов:
Множества будут использоваться по двум причинам. Во-первых, операция in на множествах очень быстрая. Если необходимо проверить большую совокупность элементов на принадлежность некоторой последовательности, то структура данных set подходит для этого лучше, чем список:
Вторая причина — получение уникальных элементов в наборе данных:
Множества будут применяться намного реже словарей и списков.
Управляющие конструкции
Как и в большинстве других языков программирования, действия можно выполнять по условию, применяя оператор if:
Кроме того, можно воспользоваться однострочным трехместным оператором if-then-else, который будет иногда использоваться в дальнейшем:
В Python имеется цикл whlle:
Однако чаще будет использоваться цикл for совместно с оператором in:
Если требуется более сложная логика управления циклом, то можно воспользоваться операторами
В результате будет напечатано 0, 1, 2 и 4.
Истинность
Булевы переменные в Python работают так же, как и в большинстве других языков программирования лишь с одним исключением — они пишутся с заглавной буквы:
Для обозначения несуществующего значения применяется специальный объект None, который соответствует значению null в других языках:
В Python может использоваться любое значение там, где ожидается логический тип Boolean. Все следующие элементы имеют логическое значение False:
Вот более простой способ сделать то же самое:
поскольку логический оператор and возвращает второе значение, в случае если первое истинное, и первое значение, в случае если оно ложное. Аналогичным образом, если х в следующем ниже выражении является либо числом, либо, возможно, None, то результат так или иначе будет числом:
Встроенная функция all языка Python берет список и возвращает True только тогда, когда каждый элемент списка истинен, а встроенная функция any возвращает тrue, когда истинен хотя бы один элемент:




















