Как учить питон с нуля
Учим Python качественно
Решил поделиться методом обучения сего мощного, но в одно и тоже время лёгкого языка программирования. Он действительно лёгкий. Вам не надо будет запоминать и вводить лишних символов, которые Вы можете встретить в Си-подобных языках.
Удобочитаемый синтаксис, прост в обучении, высокоуровневый язык, Объектно-Ориентированый язык программирования (ООП), мощный, интерактивный режим, масса библиотек. Множество иных плюсов… И это всё в одном языке.
Для начала окунёмся в возможности и узнаем, что же умеет Python?
А зачем мне твой Python?
Много начинающих программистов задают подобные вопросы. Это как с покупкой телефона, скажите, почему я должен купить этот телефон, а не этот?
Качество программного обеспечения
Для многих, в том числе и для меня, основные преимущества — это удобочитаемый синтаксис. Не много языков могут похвастаться им. Программный код на Python читается легче, что значит, многократное его использование и обслуживание выполняется гораздо проще, чем использование программного кода на других языках сценариев. Python содержит самые современные механизмы многократного использования программного кода, каким является ООП.
Библиотеки поддержки
В составе Python поставляется большое число собранных и переносимых функциональных возможностей, известных как стандартная библиотека. Эта библиотека предоставляет Вам массу возможностей, востребованных в прикладных программах, начиная от поиска текста по шаблону и заканчивая сетевыми функциями. Python допускает расширение как за счёт ваших собственных библиотек, так и за счёт библиотек, созданных другими разработчиками.
Переносимость программ
Скорость разработки
По сравнению с компилирующим, или строго типизированными языками, такими как С, С++ или Java, Python во много раз повышает производительность труда разработчика. Объем программного кода на языке Python обычно составляет треть, или даже пятую часть эквивалентного программного кода на языке С++ или Java, что означает меньший объем ввода с клавиатуры, меньшее количество времени на откладку и меньший объем трудозатрат на сопровождение. Кроме того, программы на языке Python запускаются сразу же, минуя длительные этапы компиляции и связывания, необходимые в некоторых других языках программирования, что еще больше увеличивает производительность труда программиста.
Где используется Python?
Литература
Вот мы и познакомились поближе с языком программирования Python. Можно сказать отдельно, что плюсы Python состоят еще в том, что у него есть масса качественной литературы. Не каждый язык этим может похвастаться. К примеру язык программирования JavaScript не может порадовать пользователей множеством литературы, хотя язык действительно неплохой.
Вот источники, которые помогут Вам познакомиться ближе с Python, а может и стать будущим Гвидо ван Россумом.
*Некоторые источники могут быть на английском. Не стоит этому удивляться, сейчас масса отличной литературы пишется именно на английском языке. Да и для самого программирования надо знать хотя бы базовые знания английского.
Настоятельно рекомендую прочитать первым делом книгу — Марк Лутц. Изучаем Python, 4-е издание. Книга переведена на русский язык, так что бояться не стоит, если Вы вдруг не знаете английский. Но именно четвёртое издание.
Для тех, кто знает английский, можно прочитать документацию на официальном сайте Python. Там всё довольно понятно описано.
Неплохой ресурс — Основы программирования на Python. Учебник. Вводный курс
Одна из моих недавно прочитанных книг — Язык программирования Python. Объясняется всё довольно доступно и на русском.
Хорошая книга, тоже всё доступно и на русском — Python. Подробный справочник, 4-е издание.
Что делать, если я прочитал книги, но не знаю как применять знания?
Без паники!
Советую почитать книгу Марк Лутц. Программирование на Python (4-е издание). Ранее было «изучаем», а тут «Программирование». В «Изучаем» — Вы получаете знания Python, в «Программирование» — Марк Вас учит как их применять в Ваши будущие программы. Книга очень полезная. И думаю одной её Вам хватит.
Хочу практики!
Легко.
Выше я писал о видеолекциях от Ника Парланте на YouTube, но у них есть также некие задачки на сайте. Интересные задачки, советую каждому. На английском.
Недавно школа программирования Codecademy открыла интерактивные Python-курсы. После прохождения каждого мини-курса, Вам будет позволено пройти некую «практику». Уроки ведутся на английском, но всё доступно и понятно. Начинается с переменных и типов данных.
И на окончание — хорошие закрепляющие и начинающие курсы. Learn Python The Hard Way.
Ну вот и всё!
Ну вот и всё. Теперь Вы можете учить этот язык программирования. Я кинул хорошие ресурсы и книги, и дальше всё в Ваших руках. Также не забываем про неофициальный русский Python сайт. Пусть он всегда будет у Вас под рукой.
Русский, неофициальный Python-сайт
Русский сайт программистов Python — здесь Вам всегда помогут на форуме. И много полезной информации на главной.
С чего начать изучение Python: книги для начинающих
Друзья, забирайте в закладки подборку из 17 книг по Python.
Подборка поможет вам освоить язык программирования с нуля или с минимальными знаниями.
Готовы приступить к изучению Python?
Начинаем подготовку к изучению Python
Если вы не переходите на Python с другого языка программирования, а начинаете с нуля, сначала разберитесь в базовых понятиях разработки. Чтобы читать техническую литература на английском, подтяните уровень языка. В этом помогут книги:
Новички могут легко утонуть в профессиональных понятиях. Эта книга поможет разобраться в терминологии: что такое функции, функциональное и объектно-ориентированное программирование, как структурировать и развернуть программу, как хранить, управлять и обмениваться данными.
Даже если вы хорошо владеете английским, профессиональная терминология может загнать в тупик — потратите время на гугление. Этот учебник с аудиокнигой и интерактивными словарями поможет подтянуть уровень грамматики и пополнить словарный запас техническими терминами.
Учебный курс, который поможет улучшить навыки грамматики, пополнить словарный запас техническими терминами. Фишка книги — она содержит тексты и диаграммы для лучшего понимания материала, словарь современных вычислительных терминов, сокращений и символов.
Знакомимся с Python
Начните изучать язык программирования с теоретических основ — разберитесь в терминах, принципах работы языка. Для этого изучите книги:
Простая книга для введения в Python — автор объясняет основные термины, особенности языка доступным языком. Издание в основном теоретическое, из практики — руководства по созданию нескольких элементарных программ.
Опытный разработчик и преподаватель рассказывает об основных принципах разработки на примерах создания простых игр. После каждой главы автор предлагает проект игры, резюме пройденного материала и задачи для закрепления. После прочтения вы освоите базовые навыки разработки на Python и научитесь применять их на практике.
Переходим к практике
Когда разберетесь в теоретических основах, переходите на книги с практикой — реальными примерами кода, задачами, руководствами по разработке первых простых проектов:
Автор описывает основные типы объектов в Python, порядок их создания и дальнейшей работы с ними, рассказывает об основном процедурном элементе языка — функциях. После каждой главы приводит контрольные вопросы для закрепления материала, а после каждой части — практические упражнения.
Руководство по использованию Python в различных сферах — системном администрировании, создании веб-приложений и графических интерфейсов. Автор рассказывает, как работать с базами данных, программировать сетевые взаимодействия, создавать интерфейсы для сценариев и других задач.
Книга разработчика Лучано Рамальо для тех, кто уже научился писать на языке Python, но еще не использует все его возможности. Автор рассказывает о базовых средствах и библиотеках языка и приводит наглядные примеры, как сделать код короче, понятнее и быстрее.
Пошаговое руководство для новичков, которые хотят освоить язык программирования с нуля. Автор объясняет базовый синтаксис, учит работать с типами данными и переменными, классами и объектами, обрабатывать файлы и исключения.
Эта книга — полноценное руководство по Python, состоящее из четырех частей. Новичкам стоит изучить первую часть книги. Автор просто и понятно рассказывает о механизмах работы Python, как разобраться в основах языка и написать свою первую программу.
Пошаговое руководство, которое поможет освоить язык Python и применять его на практике. Автор рассказывает, как запустить первую программу, описывает переменные, типы данных, идентификаторы и делится другой полезной информацией.
Книга для новичков, которые уже освоили язык Python и хотят программировать лучше. Автор рассказывает, как использовать паттерны программирования, чтобы улучшить код, проводить распараллеливание и компиляцию программ, объясняет принципы высокоуровневого сетевого программирования и графики.
Продолжаем изучение: книги о Python по направлениям
Python можно использовать для решения многих задач — работы с сайтами, веб-приложениями, машинного обучения. Определитесь, в каком направлении хотите развиваться, и начните с профильной литературы:
Автор подробно рассказывает, как писать геоприложения. Вы научитесь получать доступ к геоданным и визуализировать их, читать и записывать данные в векторном и растровом формате, хранить и получать доступ, выполнять геопропространственные расчеты на языке Python.
Руководство, как примененять скрипты Python и веб-API, чтобы собирать и обрабатывать данные с тысяч сайтов. Будет интересна программистам и веб-администраторам, которые хотят изучить работу веб-скраперов, освоить анализ сырых данных и тестирование интерфейса.
Книга для новичков. Авторы доступно для понимания рассказывают, как строить системы машинного обучения, подробно объясняют этапы работы с применением Python и библиотек scikit-learn, NumPy и matplotlib.
Книга о Django — фреймворке для разработки веб-приложений на Python. Авторы рассказывают о компонентах фреймворка и методах работы с ним, приводят примеры применения в разных проектах.
Автор учит работать с популярным фреймворком Flask, приводит пошаговое руководство, как создать приложение социального блогинга. Узнаете возможности фреймворка, научитесь расширять приложения дополнительными технологиями.
Основы языка программирования Python за 10 минут
На сайте Poromenos’ Stuff была
опубликована статья, в которой, в сжатой форме,
рассказывают об основах языка Python. Я предлагаю вам перевод этой статьи. Перевод не дословный. Я постарался подробнее объяснить некоторые моменты, которые могут быть непонятны.
Если вы собрались изучать язык Python, но не можете найти подходящего руководства, то эта
статья вам очень пригодится! За короткое время, вы сможете познакомиться с
основами языка Python. Хотя эта статья часто опирается
на то, что вы уже имеете опыт программирования, но, я надеюсь, даже новичкам
этот материал будет полезен. Внимательно прочитайте каждый параграф. В связи с
сжатостью материала, некоторые темы рассмотрены поверхностно, но содержат весь
необходимый метриал.
Основные свойства
Python не требует явного объявления переменных, является регистро-зависим (переменная var не эквивалентна переменной Var или VAR — это три разные переменные) объектно-ориентированным языком.
Синтаксис
Во первых стоит отметить интересную особенность Python. Он не содержит операторных скобок (begin..end в pascal или <..>в Си), вместо этого блоки выделяются отступами: пробелами или табуляцией, а вход в блок из операторов осуществляется двоеточием. Однострочные комментарии начинаются со знака фунта «#», многострочные — начинаются и заканчиваются тремя двойными кавычками «»»»».
Чтобы присвоить значение пременной используется знак «=», а для сравнения —
«==». Для увеличения значения переменной, или добавления к строке используется оператор «+=», а для уменьшения — «-=». Все эти операции могут взаимодействовать с большинством типов, в том числе со строками. Например
Структуры данных
Вы можете использовать часть массива, задавая первый и последний индекс через двоеточие «:». В таком случае вы получите часть массива, от первого индекса до второго не включительно. Если не указан первый элемент, то отсчет начинается с начала массива, а если не указан последний — то масив считывается до последнего элемента. Отрицательные значения определяют положение элемента с конца. Например:
Строки
Строки в Python обособляются кавычками двойными «»» или одинарными «’». Внутри двойных ковычек могут присутствовать одинарные или наоборот. К примеру строка «Он сказал ‘привет’!» будет выведена на экран как «Он сказал ‘привет’!». Если нужно использовать строку из несколько строчек, то эту строку надо начинать и заканчивать тремя двойными кавычками «»»»». Вы можете подставить в шаблон строки элементы из кортежа или словаря. Знак процента «%» между строкой и кортежем, заменяет в строке символы «%s» на элемент кортежа. Словари позволяют вставлять в строку элемент под заданным индексом. Для этого надо использовать в строке конструкцию «%(индекс)s». В этом случае вместо «%(индекс)s» будет подставлено значение словаря под заданным индексом.
Операторы
Операторы while, if, for составляют операторы перемещения. Здесь нет аналога оператора select, так что придется обходиться if. В операторе for происходит сравнение переменной и списка. Чтобы получить список цифр до числа — используйте функцию range( ). Вот пример использования операторов
if rangelist[ 1 ] == 2 :
print «The second item (lists are 0-based) is 2»
elif rangelist[ 1 ] == 3 :
print «The second item (lists are 0-based) is 3»
else :
print «Dunno»
while rangelist[ 1 ] == 1 :
pass
Функции
# Следующая запись эквивалентна def f(x): return x + 1
functionvar = lambda x: x + 1
>>> print functionvar( 1 )
2
Классы
Язык Python ограничен в множественном наследовании в классах. Внутренние переменные и внутренние методы классов начинаются с двух знаков нижнего подчеркивания «__» (например «__myprivatevar»). Мы можем также присвоить значение переменной класса извне. Пример:
Исключения
Исключения в Python имеют структуру try—except [exceptionname]:
def somefunction():
try :
# Деление на ноль вызывает ошибку
10 / 0
except ZeroDivisionError :
# Но программа не «Выполняет недопустимую операцию»
# А обрабатывает блок исключения соответствующий ошибке «ZeroDivisionError»
print «Oops, invalid.»
Импорт
Внешние библиотеки можно подключить процедурой «import [libname]», где [libname] — название подключаемой библиотеки. Вы так же можете использовать команду «from [libname] import [funcname]», чтобы вы могли использовать функцию [funcname] из библиотеки [libname]
import random #Импортируем библиотеку «random»
from time import clock #И заодно функцию «clock» из библиотеки «time»
Работа с файловой системой
Python имеет много встроенных библиотек. В этом примере мы попробуем сохранить в бинарном файле структуру списка, прочитать ее и сохраним строку в текстовом файле. Для преобразования структуры данных мы будем использовать стандартную библиотеку «pickle»
myfile = file (r «C:\text.txt» )
>>> print myfile.read()
‘This is a sample string’
myfile.close()
Особенности
def myfunc():
# Выводит 5
print number
def anotherfunc():
# Это вызывает исключение, поскольку глобальная апеременная
# не была вызванна из функции. Python в этом случае создает
# одноименную переменную внутри этой функции и доступную
# только для операторов этой функции.
print number
number = 3
def yetanotherfunc():
global number
# И только из этой функции значение переменной изменяется.
number = 3
Эпилог
Разумеется в этой статье не описываются все возможности Python. Я надеюсь что эта статья поможет вам, если вы захотите и в дальнейшем изучать этот язык программирования.
Преимущества Python
🐍 Где изучать Python в 2021 году: 78 ресурсов для начинающих
Miroslav Kungurov
Ресурсы отобраны по четырем направлениям:
Курсы по Питону для начинающих
Основы Python 3 (Udemy, 19 лекций) – установите Python на Windows и Mac OS, напишите Hello, World!, узнаете какие бывают типы чисел и что такое строка и ее свойства.
Python – практика для начинающих (Udemy, 8 лекций) – в этом курсе узнаете: что такое ООП, функции, циклы и условные операторы и остальные базовые понятия.
Программирование на Python (Stepik, 28 уроков) – познакомитесь с базовыми понятиями языка Python: как установить Python на компьютер, операции с числами, типы данных и условные операторы if, else, elif.
Python – практические задачи (Stepik, 21 урок) – дают основы Python: ввод данных, условия, циклы, функции и словари.
«Поколение Python»: курс для начинающих (Stepik, 61 урок) – модули курса включают в себя: ввод-вывод данных, типы данных, условные операторы, циклы for и while и работу над мини-проектом. Курс стал победителем Stepik Awards 2020 в номинации «Лучший бесплатный онлайн-курс, размещенный на платформе Stepik».
Основы программирования на языке Python в примерах и задачах (Stepik, 19 уроков) – курс ориентирован на практику; даются минимальные теоретические аспекты программирования для решения задач. В научно-популярной форме объясняется суть каждой задачи.
Python: основы и применение (Stepik, 19 уроков) – курс для тех, кто уже знаком с базой. Научитесь писать функции, работать с модулями, файловой системой, лямбда-функциями и примените полученные знания для анализа текста.
Основы программирования на Python (Coursera, 60 видео) – познакомитесь с ООП, процедурным и функциональным программированием и, конечно, с базовыми понятиями.
Python для начинающих (YouTube, 17 уроков) – рассказывают про Питон, начиная с типов данных, условных операторов, заканчивая множествами и ООП. В конце курса напишите Telegram-бота для приема платежей.
Учим Python за 1 час! (YouTube, 4 млн просмотров) – спидран по Питону.
Python-джедай (YouTube, 20 уроков) – продолжение курса Учим Python за 1 час! на 5.5 часов. Пройдете путь от азов до функционального программирования.
Уроки Python для начинающих (YouTube, 25 уроков) – Гоша Дударь рассказывает и показывает, как программировать на Python.
Python для Начинающих (YouTube, 36 уроков) – Питон с нуля, плюс два проекта на Django.
Дополнительные курсы
Основы Git (Stepik, 25 уроков) – курс по Git в формате практикума.
Основы Linux (Stepik, 34 урока) – курс основан на книге «Фундаментальные основы Linux» и рекомендован для начинающих сисадминов.
Введение в Linux (Stepik, 23 урока) – познакомитесь с ОС Linux и основами ее использования.
Интерактивные курсы и онлайн-тренажеры
Адаптивный тренажер Python (Stepik, 53 урока) – десятки задач разных уровней сложности.
Питонтьютор (11 занятий) – интерактивный учебник по основам программирования на Питоне. Больше сотни интересных задач.
Code Basics (69 уроков) – всеобъемлющий курс по Питону для начинающих.
letpy (16 уроков) – дают базовые знания, а если нужно больше – на сайте есть подробный справочник по методам, операторам и т. д.
Телеграм-каналы
Библиотека питониста – полезные материалы по всему, что может быть полезно питонисту.
Pythonist.ru – разбор вопросов с собеседований, книги, тесты и задачи на логику.
Python задачки – задачки по питону: алгоритмы, регулярные выражения, задачи для джунов.
Python Books – книги по программированию в формате PDF.
Python in Depth – рассказывают об основах программирования и лучших практиках.
Python Quiz – протестируйте ваши знания Питона.
Python (11 тыс. участников) – питоний чат.
SPb Python (1.5 тыс. участников) – чат питонщиков из СПб.
Python (2 тыс. подписчиков) – еще один чат.
PythonNoobs – канал для новичков.
Машинное обучение
Введение в Data Science и машинное обучение (Stepik, 30 уроков) – подробно разбирают теорию и учат работать с библиотеками pandas и numpy.
Машинное обучение (Stepik, 71 урок) – узнаете как обрабатывать данные и поймете как строить модели машинного обучения.
Быстрый старт в искусственный интеллект (Stepik, 23 урока) – разбирают четыре модуля: машинное обучение, компьютерное зрение, обработка естественного языка, математические идеи в анализе данных и искусственном интеллекте.
Нейронные сети (Stepik, 24 урока) – объясняют алгоритмы, лежащие в основе нейронных сетей и их практическое применение.
Нейронные сети и компьютерное зрение (Stepik, 37 уроков ) – сделаете первые шаги в области компьютерного зрения с методами машинного обучения. Этот курс получил премию «Stepik Awards 2019».
Deep Learning: базовый поток (Stepik, 39 уроков) – дают базу по высшей математике и Питону.
Аналитика с pandas (Stepik, 10 уроков) – аналитика с помощью библиотеки pandas в Python
Специализация «Машинное обучение и анализ данных» (Coursera, 6 курсов) – познакомитесь с математическим анализом, научитесь размечать и строить выводы по данным и получите другие мастхэв математические знания.
Введение в машинное обучение (Coursera, 31 видео) – изучите основные типы задач, решаемых с помощью машинного обучения: классификация, регрессия и кластеризация.
Курс OpenDataScience и Mail.ru Group по машинному обучению (YouTube, 10 лекций) – рассказывают о классификации, регрессиях, временных рядах, градиентном бустинге и так далее.
Машинное обучение от ВШЭ (YouTube, 61 видео) – курс по машинному обучению для бакалавров НИУ ВШЭ.
Машинное обучение (YouTube, 22 видео) – курс от школы анализа данных Яндекса.
Телеграм-каналы
Библиотека data scientist’а – полезные материалы по всему, что может быть интересно дата сайентисту.
gonzo-обзоры ML статей – обзоры статей по машинному обучению.
Machine Learning World – последние новости из AI и ML.
Hey Machine Learning – новости, кейсы, разборы интересных проектов из мира ИИ.
NeuroHive – Нейронные сети – канал про нейронные сети и новейшие методы в машинном обучении.
addmeto – новости из мира искусственного интеллекта и машинного обучения.
Data Science и все такое – простым языком об анализе данных, машинном обучении и обо всем таком.
OpenDataScience RU – анонсы мероприятий по Data Science.
Machinelearning – актуальная информация из мира ML, нейронных сетей.
Data Science Chat (4.5 тыс. участников) – чат о Data Science.
Нейронные сети (AI Community) (2.7 тыс. участников.) – чат про нейронные сети.
AI / Big Data / Machine Learning (5 тыс. участников) – чат про Data Science, Big Data, AI, ML.
Веб-разработка
Django (YouTube, 52 видео) – полный курс по фреймворку Django. Даже капчу поставите.
Создание сайта на Django (YouTube, 12 видео) – Гоша Дударь рассказывает как запилить свой первый сайт. Также есть курс в коротком полуторачасовом формате.
Уроки Django | Django Docker Nginx Gunicorn (YouTube, 30 мин.) – узнаете как завернуть Джанго-проект в докер и настроить обработку запросов на nginx и gunicorn.
Бекенд на Django (YouTube, 10 уроков) – хорошая подача материала.
Тестирование в Django (YouTube, 148 лайков и 2 дизлайка) – протестируете django-проект и познакомитесь с модулем mock.
Изучение Flask (YouTube, 3 видео) – создадите веб-блог.
Flask: делаем простое веб приложение на Python (YouTube, 15 мин.) – сделаете простое веб-приложение с формами ввода.
Телеграм-каналы
Python/ django – публикуют ссылки на обучающие статьи.
Django [ru] (4.2 тыс. участников)– русскоязычный чат по Джанго
Django (800 участников) – чат по Джанго.
Python Flask (1.5 тыс. участников) – чат по Flask.
Тестирование
Автоматизация тестирования с помощью Selenium и Python (Stepik, 26 уроков) – научитесь писать автотесты, использовать тестовые фреймворки и работать с git и GitHub.
Unit тесты в Python. Тестирование кода (YouTube, 354 лайка и 8 дизлайков) – протестируете код вдоль и поперек.
Pytest: введение в автотесты (YouTube) – расскажут как работать с библиотекой pytest.
Эффективное тестирование с pytest (YouTube) – научитесь запускать тесты c помощью pytest.
Тесты в Python: легкий старт (YouTube) – пошаговая инструкция на примерах: чем тестировать, что тестировать, как тестировать.
Телеграм-каналы
Библиотека тестировщика (2 тыс. участников) – полезные материалы по всему, что может быть интересно тестировщику.
QA_PRO (3.5 тыс. участников) – информация для профессиональных тестировщиков и QA инженеров.
Тестирование и жизнь (1 тыс. участников) – канал про тестирование, работу, образование и все около того.





