Программирование с нуля python – Курс Python программирования для начинающих — Онлайн обучение Python с нуля до специалиста

Содержание

изучение с нуля # 1. Синтаксис.

Этот курс познакомит вас с объектно-ориентированным, интерпретируемым языком программирования — Python.

Это перевод курса Python на сайте www.codecademy.com. Так как там он предоставлен только в английском виде — появилась идея перевести его на русский. По мере появления перевода других частей  они будут добавляться сюда.

Курс можно читать только тут, но лучше — зарегистрироваться на Codeacademy и проходить его там, заглядывая сюда в случае, если требуется перевод какой-либо фразы или части курса.

Большая часть курса написана Eric Weinstein.

Про опечатки и ошибки можно и нужно сообщать через форму Контакты, в комментариях или выделив текст с ошибкой мышкой и нажав Ctrl + Enter.

UPD: Продолжения перевода этого курса не будет, по крайней мере в обозримом будущем. Вместо него — в процессе перевода новый цикл, от tutorialspoint.com — Курс Python с нуля

Python Syntax

Часть 1. Переменные и типы данных
Часть 2. Пробелы и выражения
Часть 3. Комментарии
Часть 4. Математические операции
Часть 5. Заключение
Закрепление знаний

Часть 1. Переменные и типы данных

1. Добро пожаловать в Летающий Цирк.

Python — это мощный и гибкий язык программирования, который можно использовать для разработки web-приложений, для написания декстопных программ с графическим интерфейсом (GUI), на нём можно разрабатывать игры и многое другое.

Python это:

  • язык программирования высокого уровня, то есть чтение кода на Python и написание кода на нём очень простое — он весьма схож с обычным английским языком;
  • интерпретируемый — то есть, вам не потребуется специальный компилятор скриптов, чтобы писать на Python и запускать его скрипты;
  • он объектно-ориентированный, то есть — позволяет пользователям управлять структурами данных, называемыми «объекты«, для построения и выполнения программ, мы обсудим объекты позже, в нашем курсе.;
  • весёлый в изучении и использовании. Python получил своё название в честь Летающего Цирка Монти Пайтона (Monty Python’s Flying Circus)
    , и примеры в коде и учебники часто ссылаются на это шоу и включают в себя шутки, что бы сделать изучения языка более интересным.

Этот курс не предполагает каких-либо знаний у вас о Python в частности, или о программировании в целом.

2. Переменные

Одним из наиболее важных понятий в программировании является понятие «переменная«. Переменными называют слово/идентификатор, которое содержит единственное значение. Например, предположим что вам требуется число 5 в вашей программе, но вы не хотите использовать его немедленно. Вы можете назначить переменную, назовём её «spam« которая имеет значение «5» и хранит его для использования в дальнейшем:

>>> spam = 5

Объявить переменную в Python очень просто — просто указываете имя/идентификатор, как spam и используете знак = для присвоения ей значения — всё готово!

Давайте зададим переменной my_variable значение 10, и посмотрим его вывод:

>>> my_variable = 10
>>> my_variable
10

3. Типы данных

Отлично, теперь мы можем вызывать значение 10 просто вызывая переменную

my_variable где угодно, когда нам потребуется.

В этом случае, тип данных переменной my_variable является integer (положительное или отрицательное целое число). В Python на сегодняшний день существует три типа данных: integers, floats (дробные числительные, например 1.970) и booleans (логический тип данных, который может принимать значение либо True (истина), либо False (ложно)).

Компьютерные программы, по большей части, созданы для обработки данных. Поэтому очень важно для вас понимать разницу между разными типами данных, которые мы используем в наших программах.

Никогда не используйте кавычки ( или « ) при определении логических True или False, и всегда указывайте их с Большой буквы. Python — регистро-зависимый язык, и значения для true, truE или True будут совершенно разными. Что касается кавычек, мы начнём использовать их, когда дойдём до изучения последовательностей (strings), которые будут обсуждать в следующих частях.

Давайте установим такие значения нашим переменным:

  1. my_int to the value 7
  2. my_float to the value 1.23
  3. my_bool to the value True

Python detected the following datatypes:
my_int is of <type ‘int’>
my_float is of <type ‘float’>
my_bool is of <type ‘bool’>

4. Переназначение данных

Теперь вы знаете как объявлять переменные и присваивать им разные значения. Так же, вы узнали о трёх типах данных — integers, floats, и booleans.

Вы можете переназначить значение переменной в любое время. Если сначала вы установили для переменной my_int значение 7, но потом решили изменить его на 3 — просто скажите Python-у: my_int = 3 — и он изменит значение этой переменной:

>>> my_int = 7
>>> my_int
7
>>> my_int = 3
>>> my_int
3

Часть 2. Пробелы и выражения

1. Что такое операторы

Вы можете думать о выражениях (statements) Python-a как о простых фразах в английском: это наименьшие объекты в языке, которые имеют смысл. Как, например — «

Я«, «люблю» и «Спам» не являются простыми выраженими сами по себе и не несут смысловой нагрузки, но «Я люблю спам» — это уже фраза, имеющая определённое значение. Так же переменные и типы данных не являются выражениями сами по себе, но они являются «строительными блоками», из которых формируются выражения.

Продолжая аналогию с выражения ясно, что нам нужны определённые правила пунктуации, что бы определить где заканчивается одно выражения и начинается другое. Если вы знакомы с JavaScript, вы знаете что в нём операторы заканчиваются символом точки с запятой — » ; «. В Python операторы разделяются пробелами. Так же, как вы не можете в JavaScript вынести часть кода за пределы ограничивающих его точки с запятой, так же не сможете обойти пробел в Python-е.

Возможно, к этому придётся привыкнуть, особенно — если вы начали изучение Python после изучения языка, в котором пробелы не играют роли.

Возьмём, например, скрипт с таким кодом:

def spam():
eggs = 12
return eggs
print spam()

При его выполнении — мы получим сообщени от интерпретатора Python-a об ошибке:

File «./codeacademy_example_1.py», line 5
eggs = 12
^
IndentationError: expected an indented block

Вот само описание: «expected an indented block» — ожидаются отступы блока.

2. Пробелы — значит Правильные отступы

Запомните ошибку, которую вы получили в предыдущем примере: «ожидаются отступы блока«. Вы будете получать такое же сообщение везде, где в коде Python вы будете неправильно использовать пробелы. Если вы ранее изучали JavaScript — думайте о неправильном использовании пробелов в Python как о неправильном использовании символов ; или {} в JS. Если вы используете неправильные знаки препинания, смысл ваших слов может совершенно измениться:

Крестьянин сказал — «Ведьма превратила меня в лягушку!».

Или:

«Крестьянин, — сказала ведьма, — превратил меня в лягушку!».

Понимаете, что мы имеем ввиду?

Давайте правильно расставим отступы в коде с помощью клавиши табуляции Tab на вашей клавиатуре — один раз на второй строке перед eggs, и ещё раз на строке 3 перед return:

def spam():

eggs = 12
return eggs

print spam()

3. Про интерпретатор

Во введении в эту главу мы писали, что Python — интерпретируемый язык, то есть — он обрабатывается интерперетатором.

Так, вы можете думать об интерпретаторе, как о программме, которая получает вводимый вами код, проверяет его на наличие ошибок, выполняет операции в этом коде, строка за строкой. Интерпретатор работает в фоновом режиме, невидимо для вас и отбражает только рузультат ваших инструкций машине.

Давайте дадим задачу интепретатору назначить значение True для переменной spam, и False — для eggs:

>>> spam = True
>>> eggs = False
>>> spam
True
>>> eggs
False
>>> print spam, eggs
True False

Часть 3. Комментарии

1. Однострочные комментарии

Вы можете добавлять заметки в ваш код, устанавливая символ # (hash) в начале строки. Эти строки в коде называются комментариями, и они игнорируются интерпретатором — они совершенно не влияют на исполнение кода. Это просто текстовые замечания, написанные программистами что бы дать некоторые инструкции или пояснения к конкретной части программы.

Так как это улучает читаемость кода, и поможет в отладке, так как вы сможете быстро сказать — какая часть программы что именно должна выполнять, мы призываем вас добавлять комментарии везде, где результат выполнения части кода не является очевидным.

2. Многострочные комментарии

Иногда требуется написать большой комментарий, который не поместится в одну строку. Вы можете, конечно, написать комментарии в несколько строк, начиная каждую их них символом # —  но это, согласитесь, лишняя головная боль.

Для написания мультистрочных комментариев — используйте тройные кавычки, как в примере ниже:

«»»Я программист, и я счастлив.
Я ем Мивину и запиваю её чаем!»»»

Часть 4. Математические операции

1. Арифметические операторы

Выражения в Python не ограничены только простыми выражениями типа spam = 3. Они могут так же включать в себя математические выражения, использующие арифметические операторы (arithmetic operators).

Есть шесть таких арифметических операторов, которые мы и будем рассматривать:

  1. Сложение (Addition) (+)
  2. Вычитание (Subtraction) (-)
  3. Умножение (Multiplication) (*)
  4. Деление (Division) (/)
  5. Возведение в квадрат (Exponentiation) (**)
  6. Деление с остатком (Modulo) (%)

Давайте начнём со сложения. Установим значение переменной big_var равным сумме 1 + 2:

>>> big_var = 3 + 2
>>> big_var
5

2. Вычитание (Subtraction)

Теперь — попробуем вычитание.

Мы уже посчитали, что значение переменной big_var равняется 5, но теперь хотим уменьшить его. Укажем интерпретатору переназначить значение переменной, выполнив вычитание 5 — 2:

>>> big_var = 5 — 2
>>> big_var
3

3. Умножение (Multiplication)

Теперь — давайте попробуем выполнить умножение.

Рыцарь, который сказал «Ni!» сказал это дважды. Давайте сделаем это 20 раз, умножив 2 * 10:

>>> ni = 2 * 10
>>> ni
20

4. Деление (Division)

Немного подумав, мы решили что 20 «Ni!» будет слишком много. Давайте используем деление, что бы уменьшить значение до 5:

>>> ni = 20 / 4
>>> ni
5

5. Возведение в степень (Exponentiation)

Все арифметические операции, которые вы сделали до сих пор либо были интуитивно понятны или напоминали действия, которые вам доводилось выполнять в других языках программирования (например, JavaScript). Возведение в степень, однако, является более сложной операцией, так что мы остановимся на ней подробнее.

Арифметический оператор ** возводит первое число — base, в значение второго числа — exponent. Так, если вы наберёте 2 ** 3 — вы получите 8 (2 ** 3 это тоже самое, что 2 * 2 * 2 — обе операции дадут значение 8). 5 ** 2 = 25, 2 ** 4 = 16 и так далее.

Итак, наш дровосек очень голоден, и хочет съесть сразу 100 яиц. Давайте установим значение переменной eggs равным 100, используя Exponentiation:

>>> eggs = 10**2
>>> eggs
100

6. Деление с остатком (Modulo)

Теперь у нас множество яиц. Надеюсь — вы оставили место в комнате для spam? (что тут имеется ввиду — затрудняюсь сказать… вероятно — мясные консервы производителя Spam — прим. перевод.)

Наша последняя арифметическая операция — деление с остатком, modulo (так же называемая modulus). Modulo возвращает остаток, полученный в результате деления (division) двух целых (integer) чисел.

Так, если вы попросите интерпретатор посчитать значение 5 % 2 — вы получите результат 1 (т.к. 2 входит в 5 дважды и даёт остаток 1). 10 % 5 = 0, 113 % 100 = 13 и так далее. Давайте у становим значение переменной spam равным 1, используя modulo:

>>> spam = 45 % 22
>>> spam
1

Часть 5. Заключение.

1. Соберём всё в одном

Итак, вы изучили такие понятия в Python:

  • Переменные, которые заключают в себе значения;
  • Типы данных, такие как integers, floats, и booleans;
  • Пробелы, и почему они так важны;
  • Операнды, и чем они схожи с фразами в английском языке;
  • Комментарии, и почему они так нужны в вашем коде;
  • Арифметические действия и оператыры, такие как +, -, *, /, **, и %)

Давайте соберём все наши знания в одно целое, и заставим это всё поработать.

  • напишем однострочный комментарий;
  • объявим переменную monty и установим её значение равным True;
  • объявим вторую переменную, и устанвоим её значеине раыным 1.234;
  • объявим третью переменную, и установим её значение равнывм python в степени 2.

>>> monty = True
>>> python = 1.234
>>> monty_python  = python ** 2
>>> monty_python
1.522756

Закрепление знаний

1. Ваша любимая еда.

Этот раздел написан специально для закрепления материала первого раздела — Python Syntax.

Итак, вы только что заказали прекрасную порцию вкусного мяса (spam) и яиц (eggs).

Вот как это выглядит в цифрах:

Стоимость еды (meal): $44.50

Надбавка ресторана (tax): 6.75%

Чаевые (tip): 15%

Вы хотите дать чаевые, учитывая полную стоимость еды, включая надбавку ресторана.

Для начала, давайте зададим значение переменной meal равным 44.50:

>>> meal = 44.50
>>> meal
44.5

2. Ресторанная надбавка

Теперь — давайте создадим значение для переменной надбавка.

Надбавка стоимости вашей еды составит 6.75%. Так как мы будем иметь дело с дробными числами, а не с процентами, давайте переведём это значение в float, т.е. дробное десятичное число. Для этого — поделим 6.75 на 100, в результате мы получим обычное десятичное число.

Создадим переменную tax и установим её значение равным десятичному значению 6.75%:

>>> tax = 6.75 / 100
>>> tax
0.0675

3. Чаевые

Вам понравилось обслуживание, и и вы хотите оставить 15% сверх общей цены мяса и надбавки в качестве чаевых.

Перед тем, как с читать общую стоимость, давайте установим значение для переменной tip в размере 15%. Опять-таки, эта цифра в процентах — так что нам надо поделить 15.0 на 100, чтобы получить десятичное значение:

>>> meal = 44.50
>>> tax = 0.0675

>>> tip = 15.0 / 100
>>> tip
0.15

4. Переназначем значение в одну строку

Итак, мы получили три переменных, которые нам нужны для наших вычислений и у нас есть несколько арифметических операторов, которые нам в этом помогут.

Мы видели в предыдущих уроках, что мы можем переназначать значение переменной когда нам потребуется. Например, мы можем установить значение переменной spam = 7 в одном месте программы, и позже изменить его на другое, указав spam = 3.

Давайте переназначим значение переменной meal на значение meal + meal * tax. Вы можете менять значение переменной, применяя в новом значении её старое значение:

>>> meal = 44.50
>>> tax = 0.0675
>>> tip = 0.15
>>> meal = 44.50 + 44.50 * 0.0675
>>> print meal
47.50375

5. Второй куплет похож на первый

Почти всё готово. Теперь мы выполним почти то же самое, только на этот раз мы введём новую переменную, вместо того, что бы сбрасывать и назначать новое значение старой.

Теперь, когда значение переменной meal равно стоимости

food + tax, давайте зададим новую переменную total, которая будет содержать значение равное meal + meal * tip. Это действие очень похоже на выполненное только что.

Наш код красиво отформатирует значение переменной total и выведет результат на консоль с ограничением в два знака после запятой (мы поговорим о форматировании строк, о консоли, и о форме print в следующих занятиях).

Установим значение total в качестве суммы meal + meal * tip:

>>> meal = 44.50
>>> tax = 0.0675
>>> tip = 0.15
>>> meal = meal + meal * tax
>>> total = meal + meal * tip
>>> print(«%.2f» % total)
54.63

На этом упражнение закончено, и вы можете переходить ко второй части — Python: изучение с нуля # 2. Strings and Console Output.


Python уроки для начинающих - курсы с нуля

Уроки программирования Python для начинающих. Обучение с нуля для чайников. Большой видео курс по изучению языка Питон.

Информация про Python

Питон входит в топ популярнейших языков программирования по нынешним оценкам рейтинга TIOBE. Именно с него многие программисты начинают карьеру в своих домах или университетах. Вам не составит особого труда самостоятельно разобраться в языке. 

Программирование на нём приносит эстетическое удовольствие и неплохой доход. Даже у неопытного программиста здесь получается лаконичный и легко читаемый код. Питон – это красивый и очень мощный язык.

Из-за распространения языка, вокруг него ходит много легенд, мифов и тайн. Многие начинающие программисты просто не понимают, почему Python невероятно полезен в современном мире. По этой причине мы решили составить небольшой обзорный материал.

Где применяется Python?

Несколько основных функциональных достоинств Python:

  • Умеет работать с расширениями xml/html;
  • Поддерживает управление http-запросами;
  • Обладает графическим интерфейсом;
  • Помогает создавать веб-скрипты;
  • Может работать с FTP;
  • Способен оперировать картинками, видео и звуковыми файлами;
  • Используется в разработке робототехники;
  • Отвечает за создание научных, вычислительных площадок и ещё много всего другого.

Можно сказать, что Python отлично подходит для выполнения большей части ежедневных задач программистов. Участвует как в создании обычных бекапов или чтении писем с почты, так и в разработке крупных игр. Питон практически не имеет ограничений по сферам использования, что позволяет использовать его в проектах колоссальных масштабов. 

Python часто применяется китами мира IT – Google и Яндекс. Если добавить к этому простоту создания программ, несложно понять, почему Питон заслуживает место в списке лучших языков.

Чтобы начать работать на Python, прежде стоит пройти на официальный веб-ресурс для скачивания дистрибутива языка. На сайте есть масса полезной информации в отношении правил написания кода и расширяемости языка.

Сфера применения языка выходит далеко за пределы разработки обычных приложений. Он используется в разработке игр, веб-программировании и многом другом. Для работы в подобных направлениях нужно только подобрать, скачать и установить соответствующий фреймворк. Библиотеки помогут расширить функции языка в конкретном направлении. С библиотеками проще создавать проекты, так как не требуется создавать «велосипед».

Создание сайтов на Python

На сегодня популярнейшей библиотекой является Django - это фреймворк для веб-разработки сайтов, в котором есть функции для быстрого добавления действий на веб-ресурс. Google активно применяет язык в ряде собственных проектов, а всё по причине удобной работы и широкого функционала, применимого в любых направлениях программирования. Если метите на место в Гугл, изучение Python – неплохой шанс начать работать в компании.

План курса

В ходе курса вы изучите основы языка Python и научитесь писать консольные программы на нём. Далее вам потребуется изучить дополнительные библиотеки, которые будут расширять и дополнять язык. На нашем сайте вы можете изучить не только Python, но и дополнительные библиотеки. Множество курсов по языку Python представлен по этой ссылке.


Большой курс

Хотите изучить больше информации и далее устроиться на фриланс или разрабатывать проекты для себя? Проходите нашу онлайн программу «Профессия Python разработчик».

Курс Python программирования для начинающих — Онлайн обучение Python с нуля до специалиста

Python - это именно тот язык с которого стоит начинать изучать программирование.

Python высокоуровневый язык программирования общего назначения, т.е. его можно использовать практически для любых целей. Python входит в ТОП-10 наиболее популярных языков программирования.

Популярность Python объясняется не только тем, что его легко изучать, но и реальными преимуществами языка в смысле его профессионального применения для решения сложных проблем автоматизации. Python - кросс-платформенный язык и работает под Windows, Linux, Mac OS. Множество архитектурных конструкций в этом языке строятся без нагромождения абстракций, как часто происходит в других языках программирования. Огромное количество уже готовых библиотек даёт возможность не изобретать велосипеды на каждом шагу.

Этот курс покрывает все основные возможности Python и даёт рекомендации по написанию грамотного, "чистого" кода.

Чему вы научитесь

  • Установка Python, работа с редактором кода Anaconda для Python-программирования
  • Все основные конструкции языка Python — переменные, операторы, типы данных, работа со строками, условия, циклы, работа с файлами, работа с функциями, модулями и пакетами, применение классов и др.
  • Писать простые программы на Python 3
  • Как писать простые игры типа крестиков-ноликов или виселицы
  • Логика с условиями и циклами
  • Обработка ошибок и исключений, юнит-тестирование
  • Объектно-ориентированное программирование на Python
  • Использование Jupyter Notebook
  • Использование коллекций в Python: списки, словари и так далее
  • Декораторы
  • Неизменяемые объекты
  • Лучшие практики по написанию "чистого" кода на Python
Дополнительно изучим темы:
  • Отладка, реализуем stack, namedtuple, декораторы, datetime, enum, интроспекция, управление памятью
  • Встроенные модули: json, itertools, requests
  • Инфраструктура и новые фичи: линтеры, виртуальные окружения, data classes, type hints
  • PyCharm: установка, создание проекта, отладка, рефакторинг, quick fixes
  • И многое другое из области изучения и применения Python на практике!

Для кого этот курс

  • Новички, которые никогда не пробовали программировать. В курсе обучение Python проходит с нуля
  • Программисты, которые хотят вникнуть в новый для себя язык программирования

Python часто используется в задачах связанных с нейронными сетями и искусственным интеллектом. Поэтому в последние годы его популярность выросла в несколько раз, а специалисты таких направлений будут востребованы ближайшие 5-10 лет! С интересными задачами программирования на языке Python вам точно не придется скучать!

Начинайте изучение Python прямо сейчас - вступайте в новую увлекательную жизнь программирования на Python!

Программа обучения включает видео уроки по изучению Python для начинающих. Благодаря практическим заданиям и тестам, Вы сможете закрепить полученные знания по каждой теме курса.

Мы собрали отзывы учеников, прошедших онлайн курс. Оставьте свой отзыв после прохождения Полного Курса Python 3 для начинающих - с нуля до специалиста.

Course Author

Илья Фофанов

О преподавателе курса

  • Инженер-программист с опытом более 10 лет
  • Сертифицированный специалист по WPF и WCF
  • Организатор и координатор .NET митапов MskDotNet

"Я благодарен за то, что люблю своё дело.

Профессионально занимался проектированием и реализацией ПО больше 10 лет, преимущественно на платформе .NET. Люблю работать над созданием богатых и мощных приложений с использованием современных технологий. Сертифицированный специалист по WPF и WCF. Один из координаторов московских .NET митапов MskDotNet.

О стиле преподавания: самое главное, что характеризует мои курсы - выжимка самого необходимого. Краткость - сестра таланта, и я верю в то, что в современную эпоху информационной перегруженности - необходимо сосредотачиваться на самом главном и отсеивать "лишнее" до тех пор, пока это "лишнее" действительно не понадобится.

Пожелание студентам: Fake it Till You Make it! Это означает: притворяйся, пока не получится.  Хотите стать senior developer? Имитируйте его деятельность, старайтесь делать всё то же, что делает senior developer, и так или иначе - вы им станете. Поэтому - учиться, учиться и  ещё раз учиться. Нет унынию. Fake it Till You Make it!"

Обзор литературы по языку Python для начинающих / Habr

Очень часто можно увидеть вопросы на том же тостере: «А какую книгу взять книгу, чтобы выучить технологи Х», и естественно в комментариях идет большое число мнений и большое число различных книг. В данной теме, я сделаю обзор самых популярных книг по Python для начинающих программистов, и дам четкое мнение – нужно ли их читать или нет (субъективно).

Нужно ли читать книги. Изучая новые технологии, я люблю читать книги по данной технологии, так как я получаю не только сухую информацию, но и субъективное мнение автора по пригодности данных технологий. И в отличие от видео-курсов, мне не приходится ждать, пока автор из себя выдавливает мысль. Да и читаю, я быстро.

Подробно про книги на Python


Марк Лутц – Изучаем Python и Программируем на Python (2 тома). По моему мнению, данную книгу должен прочитать каждый программист на Python, который хочет связать свою жизнь с этим языком.
  • Она дает обширное понимание языка
  • Она объясняет плюсы и минусы языка
  • Она показывает эволюцию языка.

Мне очень нравится, как автор ведет свои рассуждения от возникновения проблемы, до её решения через эволюцию программы. Так же дается отличное понимание эволюции языка (сравнивая python 2.7 и python 3.4).

Минусами книги можно назвать огромное количество, огромное количество устаревшей информации, огромное количество информации, которую вы никогда не будут использовать в своей работе. Но если вы хотите понять суть Python – это обязательная книга.

По моему мнению, ни одна другая книга, например, Майкл Доусон — Программируем на Python, Билл Любанович – Простой Python, не могут влить понимание языка, как это делает Лутц.

Прочитав эту книгу и скачав PyCharm без it-бекграунда, я смог написать свои первые программы (небольшое десктоп-приложение, парсер сайтов и ребус).

Форсье Дж., Биссекс П., Чан У., Django – веб-разработка приложений на Python. Я считаю эту книгу полностью бесполезной, так как она не справляется со своей главной задачей – научить писать веб-приложения на Django.

  • Материал в книге очень отстает от актуальных версий Django
  • Материал дается слишком быстро, в итоге уже к середине книги ты не понимаешь, что происходит

Для изучения Django рекомендую посмотреть вступительный обучающий ролик на Youtube от украинского центра (дает базовое понимание, того как эта штука работает), а потом двигаться со своим проектом по документации и гуглению вопросов.

Так за 3 месяца я смог собрать рабочий проект (а по пути выучить html/css/js), который мне уже 4 года приносит доход. Сейчас постепенно наращиваю в функционал.

Вестра Э. — Разработка геоприложений на языке Python. Эту книгу должен прочитать каждый разработчик, который хочет написать адекватное ГИС приложение на Python. Эту книгу можно условно разделить на два раздела:

  1. Что такое ГИС системы – очень ясно и адекватно
  2. Почему писать Гис приложение на Python – это больно

Типичная фраза второй части книги: «Под язык C++/Java есть отличная ГИС библиотека, для Python есть багнутый порт без адекватной документации, поэтому открываем документацию на C++/Java, открываем исходный код порта, и начинает ковырять». В итоге, приходишь к пониманию, что давайте лучше сразу возьмем Java и не будем заниматься мракобесием.

Андреас Мюллер, Сара Гвидо. Введение в машинное обучение с помощью Python. Небольшая книга, которая дает четкое понимание того, что такое машинное обучение, на каких принципах оно базируется, какие инструменты для этого применяются. Для базового понимания – лучшая книга, что есть на данный момент.

Лично я всегда думал, что машинное обучение – это какой-то рокет саенс, а прочитав эту книгу, я увидел, что базовые принципы достаточно просты, просто надо заморачиваться, чтобы добиться хороших результатов. Определенно рекомендую.

Ноа Гифт, Джереми М. Джонс Python в системном администрировании UNIX и Linux. Я считаю эту книгу абсолютно бесполезной для прочтения, так как она дает сжатый курс питона, сжатый курс по IPython, сжатый курс по скриптингу в Unix. В итоге, все какое-то поверхностное, однобокое, и устаревшее. Если вы прочитали хотя бы одну книгу по Питону до этого, смело проходите эту книгу стороной.

Р. Митчелл. Скрапинг веб-сайтов с помощью Python. Занимаясь в свое время достаточно много парсингом данных с различных сайтов, я могу сказать, что данная книга охватывает практически все аспекты данного ремесла. Другое дело, что вся эта информация без проблем гуглится в небольших статьях, которые дают куда более простое объяснение и руководство к действию. Поэтому эти книга подходит исключительно для тех, кто раньше не занимался парсингом (для них она будет интересна), остальные проходят книгу стороной.

Ян Эрик Солем Программирование компьютерного зрения на языке Python. Еще одна бестолковая книга, которая фактически дает краткое описание популярных библиотек по работе потоками данных и мультимедиа файлами. Не имеет какой-либо четкой структуру, не имеет понятной повествовательной линии. Впустую тратит ваше время. Да, надо признать, разработка компьютерного зрения на Python – это исключительно pet-проект, для серьезных условий это не особо котируется. Это описание также подходит под книгу: «Цифровая обработка сигналов на языке python»

В заключении


Напоследок, я бы хотел расказать про одну книгу, которая не совсем учит вас питону, однако в ней все примеры идут на Python: «Test-Driven Development with Python» — в данной книге показывается пример разработки веб-приложения на Django, где сначала пишутся тесты, а потом под это дело подгоняется функционал.

Имея опыт написания коммерческих приложения на Django, а также опыт работы тестировщиком веб-приложений, я просто подгорал от того, какая же нелепая эта методология, и как сильно она ломает мозг. Если у кого-то есть свободное время, прошу к прочтению.

P.s. Все книги из моего обзора можно найти в открытых источниках, либо в магазинах. Не все они имеют перевод, но благо для разработчика это не должно быть проблемой.

Программирование на Python: от новичка до профессионала

Пошаговая инструкция для всех, кто хочет изучить программирование на Python (или программирование вообще), но не знает, куда сделать первый шаг.

Мы просмотрели множество обучающих материалов и просто хороших статей и составили список того, что необходимо изучить, чтобы освоить этот язык программирования и развиваться в нем.

1. Первым делом изучите основы. Узнайте, что такое переменные, управляющие структуры, структуры данных. Эти знания необходимы без привязки к конкретному языку.

2. Займитесь изучением литературы. Начните с классики – Dive into Python. Эта книга вообще может стать настольной. Еще можно почитать Майкла Доусона "Программируем на Python" и Алексея Васильева "Python на примерах. Практический курс по программированию". Доусон – опытный программист и преподаватель, а в книге учит программировать, создавая простые игры. В книге Васильева, напротив, больше внимания уделяется основам и теории.

3. Практикуйтесь. Можно (и нужно) делать это параллельно с изучением теории. Пройдите курс Learn Python на Codecademy: вся необходимая для выполнения заданий теория подается прямо во время заданий. Как вариант, можно посетить Питонтьютор – бесплатный интерактивный курс по Python на русском.
Также есть хорошие курсы на Stepik:
Программирование на Python, Python: основы и применение

4. Пройдите курс «Введение в компьютерные технологии и программирование на языке Python» от MIT.

5. Узнайте, какие библиотеки и инструменты Python и для каких целей используют другие питонисты. Найдите что-то интересное для себя.

6. Если вас интересуют веб-технологии, обратите внимание на фреймворки Flask и Django. Узнайте, для каких целей какой из них лучше подходит, начните изучать тот, что подходит вам.

7. Узнайте, как получать и анализировать массивы данных с отдельных сайтов, со всего Интернета и вообще откуда угодно – только старайтесь держаться в рамках закона.

8. Ищите информацию о методах машинного обучения.

9. Оптимизируйте работу с инструментами, автоматизируйте рутину и все, что еще не автоматизировано.

Несколько полезных ссылок на ресурсы, которые помогут чуть меньше гуглить и определиться, в каком направлении работать.

Полезные ресурсы

Python Tutor

Этот инструмент помогает перейти фундаментальный барьер на пути к пониманию изучаемого языка программирования: путем визуализации кода этот ресурс даст понимание того, что происходит, когда компьютер исполняет каждую строку кода.

Bucky Roberts на YouTube

Если вы не знакомы с программированием, эти туториалы очень вам помогут. Они просты для понимания и охватывают все, что может пригодиться сначала, начиная с установки языка.

Derek Banas про Python на YouTube

Дерек – программист-самоучка, и у него свой взгляд на подход к изучению языков программирования. Он делает небольшие видеообзоры на различные языки длиной в 40-60 минут, в которых рассказывает все, что нужно, чтобы в общих чертах понять назначение языка.

Corey Schafer на YouTube

У Кори хорошие видео на тему форматирования строк, генераторов, программистских терминов (комбинации и перестановки, DRY, замыкания) и многого другого, что поможет понять основные концепции.

Django Getting Started

Официальная документация по веб-фреймворку Django. Покрывает все, что нужно узнать на первых порах, от установки до первого приложения.

Введение во Flask

Видеокурс на YouTube для желающих ознакомиться с Flask, понять некоторые его тонкости и узнать, зачем он вообще нужен.

Полезные ссылки

Новичку

Python 3 для начинающих
"Укус Питона" (англ. "A Byte of Python")
Видеолекции от JetBrains
Спецкурс ВМК МГУ по Python
Интерактивный онлайн-учебник
Бизли Д. "Python. Подробный справочник" (2010, PDF)
Прохоренок Н.А. "Python 3 и PyQt. Разработка приложений" (2012, PDF)
Программирование на Python 3.Подробное руководство
Программирование на Python для начинающих (2015, PDF)
Самоучитель Python 3 (2015, PDF)

Знающему основы для углубленного изучения

М. Лутц "Программирование на Python, 4-е издание" (2011, PDF): первый том, второй том
Программирование компьютерного зрения на Python (2016)
Л. Рамальо «Python. К вершинам мастерства» (2015)
М. Лутц "Изучаем Python" (4-е издание) (2011, DjVu)
Justin Seiz "Gray Hat Python"(rus) (2012, PDF)
Гифт Н., Джонс Дж.М. "Python в системном администрировании UNIX и Linux" (2009, PDF)
М. Саммерфилд "Программирование на Python 3. Подробное руководство" (2009, PDF)

Профессионалу

Много всего на Хабрахабре
Подборка англоязычных книг по различным областям применения Python
Python Machine Learning (2015, PDF)

Видеоматериалы

Некоторые записи видео-конференции Python Meetup

Путь Python Junior-а в 2017

10 скрытых особенностей Python

Курс Python-разработчик. Обучение на Python-разработчика онлайн

Каждый день я поражаюсь тому, как четко выстроена система обучения в Skillbox, продумано все до мелочей. После оплаты оформили довольно быстро, и уже почти сразу мог приступать к работе. Общение с одногруппниками также приносит пользу. Хотелось бы отметить наставника Вадима Шандринова: очень добрый и объясняет доходчиво. Желаю всей компании успехов в будущем!

Освоение нового языка программирования с нуля — серьезная задача. Но курс от Skillbox отлично позволяет ее решить. Я разобрался в таких вещах, как ООП и синтаксис, научился писать приложения и создавать аналитические программы. В каждой лекции была видна отдача от преподавателей, то, как ответственно они подходят к тому, чтобы мы хорошо усваивали материал. Теперь уверенно программирую на Python.

Само обучение на курсе меня на данный момент более чем устраивает! Домашние работы проверяют «не боты». Конечно, с ботами все бы длилось быстрее, но толку от такого не было бы. Недавно захотел переделать уже одобренное в прошлом уроке задание, и мне это разрешили. Скоро узнаю, правильно переделал, или где-то подправить надо. А вообще я люблю задачи разные, чтобы мозг работал и не спал. Пока я еще недалеко ушел от начала курса (по урокам), но уже что-то понимаю, когда вижу непонятный ранее код на Python. Даже один друг записался на этот курс после моей небольшой рекомендации, вот только жаль, что ссылка для инвайта друзей появилась буквально через несколько дней после оплаты моего друга. Возможно, это единственное, что слегка-слегка меня огорчило, но в минусы я это не занесу.

Спикеры очень подробно объясняют трудные моменты; домашние задания — реальная практика, их не отличишь от обычных рабочих задач. Всё это позволяет не только освоить теорию, но и отлично прокачаться в практическом отношении.

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

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