Топ-7 учебников по python для начинающих (на русском языке)
Содержание:
- Часть 4. Некоторые полезные репозитории GitHub по программированию и машинному обучению
- 5 лучших книг для изучения Python в 2020 году
- Skillbox
- Шаг 1. Разобраться в синтаксисе
- Зачем учить Python
- С чего начать изучение
- Основы
- Учебный центр при МГТУ им. Баумана
- Нетология
- Coursera
- Django для новичков: строим веб-сайты с использованием Python и Django
- Шаг 2. Настроить среду разработки
- Фонд развития онлайн образования
Часть 4. Некоторые полезные репозитории GitHub по программированию и машинному обучению
- Курс программирования на языке Python, основа сайта introtopython.org.
- «Data science IPython notebooks» — множество качественных тетрадок по основным библиотекам Python для анализа данных — NumPy, SciPy, Pandas, Matplotlib, Scikit-learn. Краткие обзоры Apache Spark и соревнования Kaggle «Titanic: Machine Learning from Disaster».
- Гарвардский курс анализа данных
- «Interactive coding challenges» — подборка основных задач на структуры данных, графы, сортировку, рекурсию и не только. Для многих задач приведены решения и поясняющий материал с картинками.
- Репозиторий Оливье Гризеля (одного из авторов библиотеки Scikit-learn) с обучающими тетрадками IPython. Еще один.
- Тьюториал по Scikit-learn, также от авторов
- Разбор задач курса Andrew Ng «Machine learning» на языке Python
- Материалы в дополнение к книге «Mining the Social Web (2nd Edition)» (Matthew A. Russell, издательство O’Reilly Media)
- Тьюториал по использованию ансамблей для решения задач Kaggle.
- Библиотека XGBoost, которая используется большинством победителей соревнований Kaggle. Там же можно познакомиться с их историями успеха. XGBoost хорош по качеству прогнозирования, эффективно реализован, хорошо параллелится.
- Подборка данных FiveThirtyEight. Просто куча интересных наборов данных.
- Прогнозирование результатов выборов в США. Хороший пример анализа данных с Pandas
5 лучших книг для изучения Python в 2020 году
Автоматизация
рутинных задач с помощью Python
Это одна из первых книг по Python,
прочитанных мной пару лет назад, когда
я только начинал изучать этот язык, и я
до сих пор пользуюсь ею в качестве
справочника.
Язык Python я начал изучать, собственно,
именно для автоматизации некоторых
вещей. В этой книге меня привлекло
название. Купив ее, я не пожалел: название
точно отражает суть книги.
Это учебное пособие научит вас применять
Python на практике: отправлять уведомления
по электронной почте, читать файлы,
собирать данные в вебе, а также
автоматизировать рутинные задачи. И
для всего этого вам не придется днями
и ночами корпеть над изучением алгоритмов
сортировки, объектно-ориентированного
программирования и прочих премудростей
информатики.
Если вы из тех, кто лучше всего учится,
делая что-нибудь, — эта книга для вас.
Также стоит сказать, что автор книги Эл
Свейгарт создал на Udemy онлайн-курс
с тем же названием («Automate the Boring Stuff with
Python Programming»). Если хотите активизировать
свою учебу и не только почитать книгу,
но и послушать ее автора, — добро
пожаловать на курс.
Легкий
способ выучить Python 3
Если говорить о книгах по Python для
начинающих, многие люди посоветуют
«Легкий способ выучить Python» Зеда Шоу.
Со мной тоже так было. Как справедливо
отметили комментаторы, уже есть новая
версия книги («Learn Python 3 The Hard Way»), более
релевантная, чем предыдущая, ведь та
была о Python 2.7.
Это была одна из книг, которые мне
посоветовал мой приятель, но я долгое
время не заглядывал в нее, поскольку
увлекся книгами «Автоматизация
рутинных задач с помощью Python» и
«Изучаем
программирование на Python». Так что
«Легкий способ
выучить Python» я прочел позже и благодаря
этой книге восполнил множество пробелов
в своих знаниях.
Чтение произведений разных авторов
помогает лучше понять язык, потому что
один автор лучше раскрывает одну тему,
а другой — какую-то еще. Если вы уже
читали труды Зеда Шоу и вам нравится
его подход, то эта книга вам тоже придется
по вкусу.
Изучаем
Python
Книга Эрика Мэтиза «Изучаем Python.
Программирование игр, визуализация
данных, веб-приложения» это еще одно
прекрасное практическое пособие по
Python. Она имеет много общего с первой
книгой в нашем списке. Так что, если по
какой-то причине изложение Эла Свейгарта
вам не понравится, вы можете попробовать
заменить его труд этой книгой.
Это быстрое введение в язык Python, которое
позволит вам в кратчайшие сроки начать
писать программы, решать задачи и
создавать какие-то рабочие вещи.
Изучаем
программирование на Python
Именно эта книга научила меня языку
Python. Я преданный поклонник серии «Head
First», прочел большинство их бестселлеров,
например, «Изучаем
Java» и «Паттерны
проектирования». Мне очень нравится,
как авторы серии делают обучение
интересным.
Этот уникальный стиль изложения
удерживает внимание читателя, не дает
ему заскучать, а кроме того, побуждает
практиковаться параллельно с чтением.
Такая модель обучения помогает усваивать
знания
Python. К
вершинам мастерства
Это моя любимая книга из тех, что
предназначены для более опытных
программистов. Она помогает усвоить
лучшие подходы к написанию программ на
Python.
Применяя уроки этой книги на практике,
вы сможете писать для своих проектов
на Python более чистый, короткий и быстрый
код.
Эта книга — как «Java:
эффективное программирование», только
для Python-разработчиков. Если хотите, ее
можно скомбинировать с книгой «Чистый
Python. Тонкости программирования для
профи» Дэна Бейдера. Это еще одно
отличное пособие с более продвинутыми
советами по применению Python.
Мой список лучших книг для изучения Python в 2020 году подошел к концу. Конечно, есть и другие авторы, книги которых заслуженно могут занять место на полке разработчика; в моей подборке лишь некоторые из таких книг.
Skillbox
Онлайн-курс «Python-разработчик»
Чему вы научитесь
- Писать чистый код
Познакомитесь с синтаксисом Python, узнаете правила хорошего тона в программировании и научитесь писать лаконичный код, понятный вам и другим разработчикам. - Создавать программы на Python
Изучите принципы объектно ориентированного программирования и научитесь разрабатывать модульные программы — от консольных скриптов до чат-ботов. - Работать с базами данных
Узнаете, чем различаются реляционные и нереляционные базы данных. Научитесь управлять большими объёмами данных и быстро получать нужное с помощью запросов. - Использовать Git
Узнаете, как работать с распределённой системой контроля версий, и сможете вносить или откатывать изменения в проекте одновременно с другими разработчиками. - Тестировать код
Освоите методы отладки и тестирования — сможете находить и исправлять даже мельчайшие ошибки в своём или чужом коде. - Работать с сетью
Поймёте, как устроено клиент-серверное взаимодействие, научитесь работать с GET- и POST-запросами и API — сможете создавать веб-приложения.
Вас ждут онлайн-лекции и практические задания на основе реальных кейсов.
Программа
- Настройка окружения
- Базовые структуры данных
- Основные операторы
- Функции подробнее
- Модули и пакеты
- Пространства имён и области видимости
- Классы и объекты
- Наследование классов
- Работа с файлами и форматированный вывод
- Исключения
- Инструменты функционального программирования
- Мультипоточность
- Стандартные и сторонние библиотеки Python
- Поддержание цикла разработки
- Библиотеки для работы с данными
- Библиотеки для работы с ресурсами
- Бонусный модуль Python Advanced. Flask: начало
- Бонусный модуль Python Advanced. Основы работы в Linux
- Бонусный модуль Python Advanced. Основы культуры CI
Шаг 1. Разобраться в синтаксисе
Разработчики называют код на Python понятным и лаконичным. В этом нет ни грамма лести: всё в рамках . Тем не менее, немного поработать всё же придётся. Переменные, циклы, условия, функции, операторы — всё это можно назвать основой языка, без которой не обойтись.
Знакомиться с синтаксисом можно по-разному. Вот несколько способов, которые можем посоветовать:
— Читайте книги. Недавно мы публиковали подборку книг для тех, кто изучает Python. Чтобы было удобнее, разбили её на несколько частей: от самых азов до сложных практических задач. Пробуйте читать книги из списка и выбирайте самую подходящую по манере изложения и балансу между теорией и практикой.
— Штудируйте официальную документацию. Способ для тех, кто ладит с английским и готов довериться теории с официального сайта Python. Заходите в раздел «С чего начать» и двигайтесь от пункта к пункту.
— Смотрите обучающие видео на YouTube и образовательных платформах.
Открытое занятие Нетологии «Создаём скрипт на Python с нуля»
Зачем учить Python
Каждый язык программирования заточен под выполнение определенных видов задач. Python является языком программирования общего назначения, то есть на нем можно написать практически что-угодно. Можно — не значит эффективно, Python станет хорошим выбором не во всех сферах программирования.
В основном он используется в web-разработке, машинном обучении и анализе данных.
Это значит, что начинающий Python-программист может выбрать, какая специализация ему больше нравится. Каждая сфера предлагает высокие зарплаты, интересные и уникальные проекты.
Web-разработка
Python — не самый популярный язык для веб-разработки, однако он занимает немалую долю рынка и способен обеспечить вакансиями большое количество web-программистов.
Web-разработка на Python — это, в основном, создание серверной части сайтов и приложений с помощью фреймворков Django и Flask.
Машинное обучение
В сфере машинного обучения Python является самым популярным языком. Из названия сферы понятно, что основная задача программистов, научить компьютер “понимать” данные подобно человеку.
Типичные пример проекта в сфере машинного обучения — программа, способная распознавать и анализировать объекты на фотографии.
Анализ данных
В этой сфере Python также является один из самых популярных инструментов. Программисты разрабатывают программы, которые собирают и анализируют большое количество данных.
Простой пример проекта по анализу данных — это программа, собирающая информацию про сотрудников компании, и определяющая на её основе производительность их труда. Таким образом, руководство компании может достаточно быстро и легко анализировать состояние своей компании и быстро предпринимать необходимые меры по улучшению её эффективности.
С чего начать изучение
Каждый человек имеет разный уровень знаний. Кто-то уже успел что-то выучить в вузе, кто-то пришёл в Python из другого языка программирования, а кто-то совсем новичок и даже не знает, что такое переменная.
В любом случае начинающий программист должен изучить все основные конструкции языка. Не нужно сразу пользоваться каким-либо фреймворком, читать технические книги про алгоритмы, структуры данных и устройство компьютера.
Лучше начать с какого-либо курса, которые, обычно, дают только самую необходимую базу и не загружают мозг обучающегося огромным количеством технических терминов и информации. Для начала нужно изучить следующее:
- Переменные, их типы и операции над ними.
- Работа с числами, строками и другими типами.
- Условия.
- Циклы.
- Структуры данных (списки, кортежи, словари).
- Стандартные инструменты языка (ввод и вывод, округление).
На этом этапе практика заключается в написании небольших программ в несколько десятков строк кода.
Следующим шагов будет знакомство с функциями, которые позволяют писать более сложные программы с нормальной структурой. Начинающий программист должен разобрать:
- Назначение функций.
- Синтаксис функций.
- Аргументы.
- Возврат значений из функции.
- Вложенные функции.
- Рекурсию.
Функции позволяют писать более сложные и объемные программы (до нескольких сотен строк кода). Однако для дальнейшего развития программист должен разобраться с модулями и файлами:
- Узнать, что такое модули и пакеты.
- Научиться использовать несколько модулей в одном проекте.
- Разобраться с областями видимости модулей.
- Понять синтаксис работы с файлами (открытие, закрытие, ввод и вывод информации).
Последней базовой стадией будет изучение объектно-ориентированного программирования, которое включается в себя такие понятия, как:
- Класс и его экземпляры.
- Объекты.
- Конструктор.
- Методы и поля класса.
- Инкапсуляция, наследование и полиморфизм.
Основы
1. Переменные
Вы можете думать о переменных, как о словах, что держат в себе какое-то значение. Очень просто.
В Python нет ничего проще, чем определить переменную и присвоить ей какое-то значение. Представьте, что мы ходим сохранить число 1 в переменной, которую назовём «one». Это будет выглядеть следующим образом
one = 1
Что может быть проще? И при этом вы только что присвоили значение 1 для переменной «one».
two = 2 some_number = 10000
И таким образом вы можете присвоить любое значение любой переменной. И как видно в примере кода повыше, переменная «two» хранит числовое значение 2, а переменная «some_number» хранит значение 10,000.
Помимо числовых значений, мы также можем использовать логические (true/false, в переводе истинно/ложно), строки, десятичные числа и много других типов.
# логические true_boolean = True false_boolean = False # строки my_name = "Leandro Tk" # десятичные book_price = 15.80
2. Контролирование потока: условные состояния
Ключевое слово «if» используется для ситуаций, когда нам нужно выполнить разные действия при положительных или отрицательных условиях. При значении «истинно» будет выполняться описанный после слова «if» блок, например:
if True: print("Hello Python If") if 2 > 1: print("2 is greater than 1")
2 больше, чем 1, поэтому выполняется «print»-команда.
Блок «else» выполнится при условии, если условие «if» ложно.
if 1 > 2: print("1 is greater than 2") else: print("1 is not greater than 2")
Так как 1 не больше 2, то выполняется в блоке «else».
Также можно использовать «elif» условие:
if 1 > 2: print("1 is greater than 2" elif 2 > 1: print("1 is not greater than 2") else: print("1 is equal to 2")
3. Циклы / итерации
В Python, можно создавать циклы различными способами. Мы расскажем о двух: while и for.
Цикл While: до тех пор, пока условие истинно, код внутри цикла будет выполняться. Таким образом, следующий код напишет числа от 1 до 10.
num = 1 while num <= 10: print(num) num += 1
Циклу while нужно «условие повтора». Если оно остаётся истинным, итерации продолжаются. В приведённом примере, когда значение num становится 11, условие цикла становится ложным.
Ещё один небольшой пример, чтобы лучше понять цикл while:
loop_condition = True while loop_condition: print("Loop Condition keeps: %s" %(loop_condition)) loop_condition = False
Условие цикла(loop condition) установлено в True, поэтому цикл будет выполняться до тех пор, пока мы не переключим его в значение False.
Цикл for: в цилке for мы назначаем переменную «num» для самого цикла, который в свою очередь будет увеличивать значение этой переменной. Следующий код напишет числа от 1 до 10 точно так же, как и цикл while:
for i in range(1, 11): print(i)
Видите? Очень просто. Цикл начинается с 1 и продолжается до 11 элемента.
Учебный центр при МГТУ им. Баумана
Учебный центр предлагает следующие курсы по изучению Python:
Programming with Python. Level 1. Basics. Стоимость — 19900 руб. На курсе вы освоите основы Python: изучите синтаксис языка, получите базовые навыки структурного и процедурного программирования, познакомитесь со структурами данных языка Пайтон. Вы научитесь устанавливать и настраивать среду разработки, применять базовые конструкции Python, создавать модули и пакеты, пользоваться основными структурами данных, выполнять основные операции ввода/вывода. Также вы получите необходимую подготовку для изучения объектно-ориентированного программирования на языке Python.
Python Programming. Level 2. Advanced Course. Стоимость — 23990 руб. На курсе вы получите базовые навыки объектно-ориентированного программирования, познакомитесь с базовыми элементами языка Python. Вы научитесь создавать объектно-ориентированные приложения на языке Python, сможете выполнять первичную обработку данных на языке Python, ориентироваться в стандартной библиотеке языка Python. Также вы получите необходимую подготовку для изучения проектирования пользовательского интерфейса на базе Qt/Python и веб-программирования на базе Python/Django.
Python. Level3 3. Web-development with Django. Стоимость — 24990 руб. Вы занимаетесь программированием и интересуетесь веб-разработкой? Возможно, имеете определенный практический опыт разработки с использованием РНР и СУБД? На данном курсе Вы изучите создание веб-приложений на языке Python с использованием MVC-подхода на примере фреймворка Django.
Нетология
Нетология — популярная онлайн-площадка, где можно найти актуальные курсы и семинары для специалистов любой сферы деятельности. Большой объем материала предлагается и для программистов. В частности, здесь можно освоить программирование на языке Python с нуля.
Вы будете общаться с преподавателями и однокурсниками в онлайне 2-3 раза в неделю. Вебинары также будут доступны в записи и после обучения. После каждой лекции будете делать практические задания, а затем получать развёрнутую обратную связь. Так наполните портфолио. Преподаватели будут постоянно на связи — в общем чате в Slack. А еще у каждой группы будут координаторы и аспиранты, которые решат организационные вопросы.
После курса вы сможете устроиться в компанию, где создают интерактивные веб-сервисы на Python, а таких очень много: 3305 вакансий для python-разработчика открыто прямо сейчас на hh.ru.
Coursera
Платформа онлайн-образования Coursera предлагает различные курсы для специалистов, начинающих и профессиональных. Здесь можно найти обширную коллекцию как бесплатных курсов, так и стоимостью от 39$ в месяц. Онлайн-обучение проводится как на английском, так и на русском языках.
В результате освоения курса «Основы программирования на Python» слушатели научатся обрабатывать и хранить числа, тексты и их наборы, освоят стандартную библиотеку языка Python и смогут автоматизировать задачи по сбору и обработке данных.
Курс дает необходимую базу для освоения более специализированных областей применения языка Python, таких как машинное обучение, статистическая обработка данных, визуализация данных и многих других.
Также слушатели познакомятся с основами различных парадигм программирования: процедурным, функциональным и объектно-ориентированным программированием. Для качественного освоения курса достаточно знания математики на уровне средней школы, опыта программирования не требуется.
В курсе предлагается большое количество задач по программированию, расположенных по нарастанию сложности, что позволяет закреплять на практике изучаемый материал. К каждому занятию прилагается полный конспект, это делает изучение курса удобнее. Курс проводился в оффлайн варианте для студентов бакалавриата факультета компьютерных наук НИУ ВШЭ.
Часть уроков дается бесплатно. Для учеников, которые по каким-то причинам не могут оплатить курс, предоставляется финансовая помощь. Здесь же можно найти и другие курсы с применением языка Python.
Django для новичков: строим веб-сайты с использованием Python и Django
В этом пособии содержится пошаговая инструкция для разработки веб-приложений с помощью Python и Django 3.0. Вы узнаете как создавать, тестировать и разворачивать несколько сложных веб-сайтов. Книга включает в себя приложение блога с системой учетных записей, а также приложение доски объявлений, новостное приложение и приложение газеты с добавлением системы комментариев читателей.
Помимо этого, в книге рассказывается о различных функциях Django. А еще можно получить много информации о моделях, вьюхах (о том, что это такое, вы узнаете из книги), шаблонах, регистрации пользователей, тестировании и разворачивании.
Книга лежит тут.
Шаг 2. Настроить среду разработки
Прежде чем запускать код, нужно его куда-то записать. Мы рекомендуем использовать для этих целей специальные программы — IDE (Integrated Development Environment). Они умеют искать ошибки, помогают ориентироваться в коде и дают полезные подсказки при вводе.
Так выглядит популярная IDE для Python — PyCharm. В левой части — дерево файлов и папок проекта, справа — написанный код
Но для первых попыток вам хватит repl.it — IDE, которая работает в облаке и умеет всё то же самое, что и PyCharm. Зайдите на http://repl.it.
Нажмите New repl и выберите Python из списка языков программирования. В результате получится такое:
Так выглядит рабочее окно repl.it. Здесь вы можете написать код и сразу выполнить его. Самые внимательные увидят уже работающую программу
Дальше всё просто: пишете код, нажимаете на кнопку Run — программа запускается. Если захотите показать кому-нибудь свою программу, жмите кнопку Share и копируйте ссылку из строки Share Link. В разделе с примерами вы ещё увидите такие ссылки и сможете их протестировать.
Фонд развития онлайн образования
ФРОО предлагает полный курс программирования на Python для студентов и профессионалов, которые имеют навыки программирования на других языках и хотят познакомиться с Python или углубить свои знания о нем. Для успешного прохождения обучения необходим базовый опыт программирования на любом языке.
Вы научитесь писать красивый и элегантный код, будете использовать проверенные временем концепции и создавать масштабируемые программы.
Изучите конструкции языка, типы и структуры данных, функции, научитесь применять объектно-ориентированное и функциональное программирование, узнаете про особенности реализации Python, начнете создавать свои классы, применять наследование и обрабатывать исключения в программах, писать асинхронный и многопоточный код, отлаживать и тестировать свои программы.
Помимо теории вас ждут практические задания, которые помогут проверить полученные знания и отточить навыки программирования на Python. После успешного окончания курса вы сможете использовать полученный опыт для разработки проектов различной сложности.
Обучение длится 6 месяцев по 6-8 часов в неделю. Ваша итоговая работа — сделаете асинхронный сервер, игру и бота, а также приложение для управления умным домом и нейронку; спарсите википедию и сверстаете stackoverflow.