Питон изучение – Обучение с подкреплением на языке Python / Издательский дом «Питер» corporate blog / Habr

Самые эффективные ресурсы и материалы для изучения 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 итд

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

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