Самые эффективные ресурсы и материалы для изучения Python
Что необходимо для изучения Python? Книги да видеоуроки? Не только. В нашей подборке вы также найдете курсы и интерактивные «обучалки».
Разделим материалы на 2 языковые категории.
Русский язык
Английский язык
- Google’s Python Class: специальные курсы для изучения Python от Google.
- А вот на Coursera можно найти и платные, и бесплатные курсы на разных языках.
- Checkio предоставляет возможность выучить язык программирования в игровой форме (также есть JavaScript).
- Beginner Python3 Tutorials.
Представляем вашему вниманию интерактивный учебник языка Python, который не только дает теорию в удобной форме, но и позволяет решать задачи прямо на сайте.
Также рекомендуем ознакомиться с Python Tricks: A Buffet of Awesome Python Features — лучшей книгой по Python, выпущенной в 2017 году. В ней представлены как простые примеры, так и короткие решения сложных задач. Все с пошаговым описанием. Хорошо подойдет тем, кто знает синтаксис и основной функционал языка, но еще не до конца понимает алгоритмы.
Python. Карманный справочник полностью оправдывает свое название. Очень удобен для быстрого получения нужной информации в процессе разработки. Здесь раскрывается все: типы данных, операторы, встроенные функции, методы, исключения, библиотеки и прочие инструменты данного ЯП.
Легкий способ выучить Python подойдет тем, кто никогда не программировал, но хочет научиться, и своим первым языком избрал Python. Эта книга поможет освоиться начинающим питонистам. Внимательно читайте теорию и запускайте первые рабочие программы.
Автостопом по Python — это хорошая русскоязычная книга, созданная на базе одноименного руководства. Она вобрала в себя наработки специалистов, новейшие приемы и проверенные методы.
В Простой Python. Современный стиль программирования найдется полезная информация для новичков, уже обладающих кое-какими знаниями в области ООП. Подробно описываются современные инструменты (пакеты, библиотеки) и различные концепции Python.
Также хочется отметить книгу Python на практике. Она предназначена для тех, кто уже освоил язык, но хочет писать более качественные и надежные программы. В книге раскрываются секреты элегантного кода, быстродействия, графики и высокоуровневого сетевого программирования.
Общее
Хитрости и трюки
Туториалы
Канал DrapsTV радует разноуровневыми туториалами. В их арсенале можно найти такие плейлисты, как:
Beginner
Intermediate
Advanced
Также рекомендуем ознакомиться с этой статьей: в ней собраны самые разные видеоматералы для изучения Python.
Интерактивный учебник языка Python
Python 3 — это современный язык, на котором просто и приятно писать программы.
Для печати значений в Питоне есть функция print(). Внутри круглых скобок через запятую мы пишем то, что хотим вывести. Вот программа, которая делает несколько вычислений:
print(5 + 10) print(3 * 7, (17 - 2) * 8) print(2 ** 16) # две звёздочки означают возведение в степень print(37 / 3) # один слэш — это деление с ответом-дробью print(37 // 3) # два слэша считают частное от деления нацело # это как операция div в других языках print(37 % 3) # процент считает остаток от деления нацело # это как операция mod в других языках
Для ввода данных в программу мы используем функцию input()
. Она считывает одну строку.
Вот программа, которая считывает имя пользователя и приветствует его:
Пётр
print('Как вас зовут?') name = input() # считываем строку и кладём её в переменную name print('Здравствуйте, ' + name + '!')
Мы будем писать программы, которые считывают данные, перерабатывают их и выводят какой-то результат. При запуске на компьютере такие программы считывают данные, которые пользователь вводит с клавиатуры, а результат выводят на экран.
Попробуем написать программу, которая считывает два числа и выводит их сумму. Для этого считаем два числа и сохраним их в переменные a
и b
, пользуясь оператором присваивания =
. Слева от оператора присваивания в программах на Питоне ставится имя переменной — например, строка из латинских букв. Справа от оператора присваивания ставится любое выражение. Имя станет указывать на результат вычисления выражения. Проиграйте эту программу и посмотрите на результаты её работы:
5 7
a = input() b = input() s = a + b print(s)
Мы видим, что программа выводит 57
, хотя в реальной жизни 5 + 7
будет 12
. Это произошло потому, что Питон в третьей строчке «сложил» две строки, а не два числа. В Питоне две строки складываются так: к первой строке приписывается вторая.
Обратите внимание, что в визуализаторе содержимое переменных a
и b
заключено в кавычки. Это означает, что в a
и b
лежат строки, а не числа.
В Питоне все данные называются объектами. Число 2 представляется объектом «число 2», строка 'hello'
– это объект «строка 'hello'
».
Каждый объект относится к какому-то типу. Строки хранятся в объектах типа str
, целые числа хранятся в объектах типа int
, дробные числа (вещественные числа) — в объектах типа float
. Тип объекта определяет, какие действия можно делать с объектами этого типа. Например, если в переменных first
и second
лежат объекты типа int
, то их можно перемножить, а если в них лежат объекты типа str
, то их перемножить нельзя:
first = 5 second = 7 print(first * second) first = '5' second = '7' print(first * second)
Чтобы преобразовать строку из цифр в целое число, воспользуемся функцией int()
. Например, int('23')
вернет число 23
.
Вот пример правильной программы, которая считывает два числа и выводит их сумму:
5 7
a = int(input()) b = int(input()) s = a + b print(s)
Ссылки на задачи доступны в меню слева. Эталонные решения теперь доступны на странице самой задачи.
Ресурсы по обучения Python? — Хабр Q&A
Вот не плохой порядок:https://younglinux.info/python.php
https://stepik.org/course/67
https://pythontutor.ru
https://stepik.org/course/431
https://pythonworld.ru
Марк Лутц: «Изучаем Python», «Программирование на Python» и «Python карманнй справочник»
https://py.checkio.org
https://devman.org/
Я не так давно начал изучать python3 самостоятельно, по курсам, учебным материалам и книгам. Чувствую себя всё ещё любителем-новичком и впечатления от старта ещё достаточно свежи. Так что поделюсь своим мнением. Может кому поможет.
Внимание! Оцениваю ресурсы с точки зрения начинающего. Может быть для фундаментального понимания лучше и какие-то другие ресурсы. Я же оцениваю материалы для ЧАЙНИКА, у которого, по сути, нет никакого опыта даже кодинга, про программирование я вообще молчу. Знание английского позволяет читать со словарём, но смотреть английские курсы — нет. Список от наиболее полезных и понятных до продвинутых, углублённых, шероховатых и тех в которых я не уверен до конца. Мнение субъективное. На истину не претендую.
https://stepik.org/course/67
Плюсы:
+ краткая и понятная теория без лабуды и излишнего углубления в детали (в соновном)
+ несколько практических заданий после каждого урока — читаешь условие задачи. Пишешь код где удобно. Копируешь, вставляешь в поле для ответа. Система автоматически прогоняет его через тесты. Если код выдаёт неверный ответ, система об этом сообщает — показывает входные данные и то, что должно быть на выходе. Исправляешь код в своём любимом редакторе и снова вставляешь в поле и так, пока код не начнёт работать, как надо. — Отличная практика. В начале немного раздражает, но ближе к середине появляется азарт. Начинаешь понимать, как работает код не просто в теории а на практике, «руки привыкают».
+ мелкие плюшки, такие как статистика занятий по дням года, репутация и прочее
Минусы:
— как минимум в одном месте спрашивается то, о чём не давалось информации в теоретической части. Мелочь, да и в коментах всё ясно, но у людей побомбило.
— практические задания местами переусложнены и тренируют больше гибкость ума, чем понимание языка и начальные навыки кодинга. Да, гибкость ума, конечно, важна для программиста, но в САМОМ НАЧАЛЕ это больше деморализует. Я бы с интересом взялся за них в конце глав или курса, но не сразу же после первого знакомства со списками. И об этом говорили и другие изучающие в коментах.
https://younglinux.info/python.php Лаборатория юного линуксоида: Python. Введение в программирование
Тоже краткая теория, как на стэпике, но нет системы автоматической проверки выполненных заданий. Просто читаешь, разбираешься и по желанию (рекомендую), выполняешь задания к уроку.
Плюсы:
+ отличная краткая теория. В дополнение к стэпику, вообще отличная. Я по ней разобрался в основах. После неё туманности стэпика проходят. По степени понятности базовой теории для чайника я лучше ресурса не видел.
+ неплохие задания для практики. Опять же в дополнение к стэпику заходят хорошо.
Минусы:
— тут только теория, практика — просто дополнение.
https://pythonworld.ru и pythontutor.ru
Не плохо дополняют выше перечисленные проекты. Тут текст посложнее, несколько менее понятен, чем тем, что выше. Но для разъяснения иногда полезны.
Ну и поисковик в помощь. Если где проблема, что-то не понятно. Так и пиши в поиске, мол, «как сделать то-то», «как работает то-то» и прочее. Ответы найдёте на всяких вопрос-ответных системах, в блогах, в туториалах и прочее.
Как освоишь базис, можно взяться за книги Марка Лутца: Изучаем Python, Программирование на Python и Python карманнй справочник. У него очень подробная информация. Новичку совсем без опыта там очень тяжело, но когда пройдёшь базовые курсы, Лутц читается не очень сложно и интересно. После его книг, можешь считать, что знаешь Python.
Ну и паралельно можно (даже необходимо) практиковаться на всяких https://stepik.org/course/431 https://py.checkio.org https://devman.org/ и прочие. Полезно также придумывать скрипты и програмки, имеющие реальную пользу для вас.
Как изучать python? — Хабр Q&A
Этот вопрос задают здесь практически каждый день и, если поискать, мнений выше крыше.Скажу еще раз свое и исходя из опыта сначала изучения Swift, потом даже Java/C++;
даже не думайте про что то сложное больше чем Python/HTML/CSS пока не научитесь делать что то на них, т.к.
>>>>
Научитесь сначала очень и очень базово программировать на (Python’е): т.е. летать на учебном кукурузнике, а там Вам придёт уже точное понимание что к чему и как действовать дальше. И, поверьте, даже тот же Питон не самый простой язык, но простейший из других, хотя и он, как море, идешь-идешь-идешь от берега по колено в воде, а потом раз — и обрыв на несколько метров. Тем более на питон у Вас нормально программировать меньше чем пол года всё равно не получится, а скорее всего год, с кондачка не получится, сразу имейте в виду. Тут по сути как полный ремонт квартиры, а не просто прибраться, и не генеральная уборка. Если есть человек, кот. уже прошёл этот путь и направляет, и если Вы реально этим занимаетесь конкретно, то за 6 месяцев можно. Самое главное практика! Еще раз- самое главное практика! Еще раз…. и еще…. повторяю: напишите себе на бумаге 100 раз слово Практика!
Начните с простейших:
— Learn Python the Hard Way
— Python Crash Course — No Starch — вторую часть книги, просто сидите и печатайте упражнения
— потом переключайтесь на Automate the Boring Stuff — вторую часть книги, просто сидите и печатайте упражнения
потом перечитайте первую часть (теорию) где про все эти приёмы объясняется (control flow, loops, итд итп)
Потом переходитe на Django:
— напишите блог
— онлайн магазин
— мб потом задеплоить свой сайт с блогм, другими фичами
Т.е. тупо начать писать базовые вещи, читать чужой код, мб смотреть на YT много-много видео с чужим кодом и упражнениями, для овладения языком на более-менее intermediate/advanced уровне
Там дальше уже придет понимание как дальше и куда двигаться, но там уже по другому надо начинать думать.
>>>
По сути есть имхо 3 раздела:
а) концепты Computer Science (весь этот набор array/variable/итд)
б) синтаксис самого ЯП
в) и собственно само программирование, т.е. как связывать а) и б)
ИМХО, синтаксис (б) в Питоне несколько слишком упрощенный т.е. без всяких строгих типизаций, по сравнению с другими ЯП, но на начальном этапе для освоения а) и в) и понятия основ и сути — самое то (ИМХО). Поэтому научитесь в) и поймете основные механизмы, дальше освоить другие ЯП уже будет на порядок легче и быстрее, и ту же Java, и C++ (хотя лично для меня это был полный ахтунг-ахтунг), и JavaScript итд