План обучения Python с нуля 2022: что нужно знать, сколько и где учиться

Что будет в статье

Зачем учить Python?

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

Зная Python, вы будете востребованным. Умение программировать поможет «оставаться на плаву» по мере того, как мир развивается. Одна только работа в сфере разработки программного обеспечения должна вырасти на 21% за следующие 10 лет.

Бюро статистики труда США оценивает этот показатель как «намного стремительнее среднего». Учитывая количество разработчиков, использующих Python, знание этого языка поможет заложить фундамент в этом направлении.

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

Python широко используется. Такие организации, как Quora, YouTube, Dropbox и IBM всерьез полагаются на Python в своем бизнесе, потому что он гибкий, мощный и простой. Вы также можете использовать язык для решения сложных проблем.

Что нужно учить в первую очередь?

Базовые знания языка Python Операторы, выражения, переменные, условный оператор if, ветвления, циклы (while, for), циклы со счетчиком, работа со списками и их сортировка, массивы, кортежи и строки, словари, функции, работа с модулями, работа с файлами (открытие, чтение, запись), основы работы с сетью. Изучить фреймворки, например, Django.
Основы программирования Что такое ООП (объектно-ориентированное программирование), алгоритмы и структура данных, базы данных (какие бывают, как с ними работать).
Системы контроля версий В первую очередь Git.
Дополнительные знания Если планируете работать в сфере веб-разработки, лучше дополнительно освоить HTML и CSS, основы JavaScript, научиться верстать адаптивные макеты.

За сколько времени можно выучить Python?

  • От 4 до 6 месяцев, если вы осваиваете только язык программирования без дополнительных технологий. Точное время зависит от уровня начальных знаний и частоты занятий. Например, опытному разработчику достаточно 1-2 недели, чтобы разобраться с синтаксисом языка и что-то начать на нем делать. Если вы учите Пайтон с нуля, то первое время вам будет сложнее ориентироваться в большом объеме новой информации.
  • От 8 до 12 месяцев, если вы изучаете программирование с нуля и хотите освоить разные технологии, нужные для поиска работы. Например, курс в Skillbox для Питон-разработчиков идет ровно год. Он рассчитан на новичков, и в его рамках обучают самому языку, а также верстке, работе с базами данных и Git.

Классы и объекты

Немного теории:

Объекты это представление предметов из реальной жизни, например машин, собак, велосипедов. У объектов есть две основных характеристики: данные и поведение.

У машин есть данные, например количество колёс или сидячих мест. Также у них есть поведение: они могут разгоняться, останавливаться, показывать оставшееся количество топлива и другое.

В объектно-ориентированном программировании мы идентифицируем данные как атрибуты, а поведение как методы. Ещё раз:

Данные → Атрибуты; Поведение → Методы

Класс это как чертёж, из которого создаются уникальные объекты. В реальном мире есть множество объектов с похожими характеристиками. Например, машины. Все они имеют какую-то марку или модель(точно так же как и двигатель, колёса, двери и так далее). Каждая машина была построена из похожего набора чертежей и деталей.

За сколько можно выучить Python?

Скорость изучения Python зависит от вашего расписания и того, что вы понимаете под словом «учить».

Существует не так уж и много людей, о которых можно было бы сказать, что они знают Python всецело. Объем знаний сильно зависит от того, для чего вам нужны эти знания.

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

В среднем изучение основ занимает 6-8 недель. Это позволит понимать большую часть строк, написанных с помощью этого языка. Если же у вас в планах data science или любая другая специализированная отрасль, то лучше сразу закладывать месяцы и даже годы.

Можно расписать план обучения приблизительно на 5-6 месяцев. Это подойдет в первую очередь тем, кто работает полный день, и может проводить у компьютера 2-3 часа. Сегодня вы учите что-то, а завтра — практикуетесь.

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

Работа с интерпретатором в Linux

Интерпретатор Питона без проблем запускается в любой среде. Например, в Linux применяется команда для консоли:

$ python

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

По умолчанию запускается релиз v2, для запуска v3 требуется указать следующее:

$ python3

Если обучение происходит «с нуля», есть смысл за основу брать третью версию. Вторую осваивать в процессе оттачивания мастерства, например, если пришлось на практике разбираться в «чужом» коде. Или когда готовые модули написаны на старой версии и нет времени/желания переделывать их на новый лад (выгоднее сослаться на уже отлаженный код).

4. Ввод данных

Для ввода данных применяется функция input():

input_word = input(‘Введите какое-нибудь слово: ‘)
print(‘Слово: ‘ + input_word)

Бесплатные курсы и материалы для новичков

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

Сайты и самоучители, в основном бесплатные:

  1. Python.org – официальный сайт с документацией, новостями и другой полезной информацией. На английском языке.
  2. Питонтьютор – позволяет учить язык программирования онлайн без установки среды разработки. Работает прямо в браузере. Много примеров кода, больше сотни заданий. Подходит новичкам и людям, которые раньше не сталкивались с программированием.
  3. Самоучитель по Питону – на сайте размещены бесплатные уроки для новичков. Здесь можно изучить основы, синтаксис, операторы, циклы, списки, кортежи, словари, функции и многое другое. Есть примеры кода, что упрощает самостоятельное обучение.
  4. Python Class от Google – самоучитель от одноименной компании на английском языке.
  5. Питонист – блог с полезной информацией. Отдельного внимания заслуживает раздел с тестами, где можно проверить свои знания.
  6. Python.ru – сайт евангелистов сообщества MoscowPython. Новичкам будет интересен форум, где разбирают задачи и отвечают на вопросы.
  7. Python-ucheba.ru – самоучитель по версии языка 2.7. Включает 34 урока, в том числе отдельную статью про ООП и классы.
  8. Pyvideo.ru – на сайте собрано более 250 видеозаписей докладов и лекций, помогающих выучить Python самому.
  9. Pythonru.com – база знаний. Много статей на разные темы с примерами кода. Есть отдельный раздел с уроками, основами и библиотеками.
  10. Яндекс.Практикум – онлайн-курс от Яндекса. Первая часть, где обучают азам, бесплатная. Ее можно пройти самостоятельно, а потом решить, что делать дальше.

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

Бесплатные видеокурсы:

  1. Python для начинающих – курс содержит 21 видео.
  2. Анализ данных на Питоне – 12 уроков.
  3. Python с нуля – небольшой курс для новичков. Содержит 9 видео.
  4. Фреймворк Django – включает 7 мастер-классов.
  5. ООП для новичков – советуем посмотреть для общего развития.

Также в Клубе фрилансеров вы найдете бесплатные уроки по программированию и верстке. Рекомендуем заглянуть в группу и сохранить себе подборку материалов.

Зачем учить Python? Преимущества и недостатки языка

Плюсы Минусы
  • Популярность и широкое применение. Изучив Питон, вы сможете создавать как простые приложения, так и программировать нейронные сети, анализировать данные и многое другое.
  • Востребованность программистов на рынке.
  • Высокий уровень зарплат. Новички могут получать от 60 тыс. рублей в месяц, специалисты с опытом – от 100 до 200 тыс. рублей в месяц.
  • Относительная простота и легкость обучения.
  • Множество готовых библиотек и фреймворков, которые упрощают жизнь.
  • Большое и активное сообщество, много информации на русском языке, в том числе самоучителей.
  • Подходит новичкам, кто ранее не был связан с программированием, но хочет начать карьеру в этой сфере.
  • Непривычный синтаксис. Если вы знаете другие языки программирования, учить Python будет необычно.
  • Многие работодатели ищут разработчиков, владеющих несколькими языками. Для получения работы выучить только Питон может быть не достаточно.
  • Разные версии языка не совместимы и существуют параллельно.
  • Больше всего вакансий открыто в Москве и Санкт-Петербурге. Соискателям из регионов может потребоваться работать удаленно или переезжать в более крупный город.

Создание проекта

Создадим проект, в котором будем хранить код и другие файлы. Для этого перейдем во вкладку File → Add Project Folder и выберем любую свободную папку.

Для чего нужен Python?

Python — это язык программирования общего назначения, что значит, что он используется в самых разных отраслях. Чаще всего его применяют:

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

Для Python есть внушительный набор библиотек, которые расширяют язык. Это подразумевает наличие огромного числа сообществ, использующих Python для самых разных целей. matplotlib, например, нужна для data science, а Click — для написания скриптов.

7. Цикл for

Рис. 7. Цикл for в Python

Цикл for перебирает элементы последовательности:

numbers = [‘0’, ‘1’, ‘2’, ‘3’] for i in range(0, len(numbers)):
print(numbers[i])

# на экран выводятся числа 0, 1, 2 и 3
0
1
2
3

Здесь:

i – переменная, которая принимает значение из диапазона значений range(0, len(numbers)).

range(0, len(numbers)) – последовательность чисел от 0 до значения длины списка numbers.

print(numbers[i]) – тело цикла, выводит на экран i-й элемент списка numbers.

Второй вариант записи:

numbers = [‘0’, ‘1’, ‘2’, ‘3’] for number in numbers:
print(number)

# идентичный результат
0
1
2
3

За сколько можно выучить основы?

Изучение основ Python займет как минимум три месяца. При условии уделения минимум 10 часов обучения в неделю.

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

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

Инкапсуляция: сокрытие информации

Инкапсуляция — это механизм, который ограничивает свободный доступ к данным и методам объекта. Но в то же время, это упрощает доступ к данным(методам объекта).

«Инкапсуляция может использоваться для сокрытия данных и функций. Под определением инкапсуляции имеется ввиду то, что внутреннее представление объекта сокрыто от просмотра вне определения объекта.» — Википедия

Вся внутренняя реализация объекта недоступна извне. Только сам объект может взаимодействовать со своими внутренними данными.

Для начала нам нужно понять как работают публичные и не-публичные переменные и методы.

Установка Python на Windows

Пакет для поддержки Питона нужно скачать с официального сайта разработчика по ссылке. Скачивая его на сторонних ресурсах, нет гарантии, что дистрибутив будет без вирусов. Важно и выбрать правильную платформу 32-bit или 64-bit. Портал представляет сразу все выпущенные релизы, ориентироваться следует на последние.

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

После установки скачанного дистрибутива на рабочем столе Windows появляется ярлык для запуска программы IDLE (среды разработки на языке Питон). Внешне рабочее окно схоже с тем, которое видят пользователи Linux.

Советы для начинающих

  1. Заранее подумайте, где вы хотите работать. Например, в области веб-разработки или анализа данных. От этого зависит, какие библиотеки и дополнительные технологии потребуется учить. Их в ИТ много, поэтому объять все не получится.
  2. Начните с изучения синтаксиса и решения простых задач. Чем больше практики, тем лучше.
  3. Чтобы добиться прогресса, рекомендуем выделять на обучение минимум 4 часа в неделю. Например, два раза заниматься по два часа. Больше тоже можно.
  4. Посмотрите вакансии на сайтах, где ищут программистов. Как правило, в них указывают, что необходимо знать и уметь для получения работы. Составьте список того, что вам потребуется для успешного прохождения собеседований.
  5. Не расстраивайтесь, если что-то на старте не получается. Это нормально. Начинать любое дело тяжело, но потом вы втянетесь, и все пойдет быстрее.
  6. Старайтесь писать простой и понятный код. Посмотрите, что такое ООП и как его использовать.

Словарь: структура данных в виде ключ-значение

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

Одним из таких типов является словарь. Словарь это коллекция пар ключ-значение. Вот так это выглядит:

dictionary_example = {
«key1»: «value1»,
«key2»: «value2»,
«key3»: «value3»
}

Ключ указывает на значение. Чтобы получить доступ к какому-либо значению — нам нужно обратиться к его ключу. Делается это следующим образом:

dictionary_tk = {
«name»: «Leandro»,
«nickname»: «Tk»,
«nationality»: «Brazilian»
}

print(«My name is %s» %(dictionary_tk[«name»])) # My name is Leandro
print(«But you can call me %s» %(dictionary_tk[«nickname»])) # But you can call me Tk
print(«And by the way I’m %s» %(dictionary_tk[«nationality»])) # And by the way I’m Brazilian

Я создал словарь о себе. Моё имя, никнейм и национальность. Эти атрибуты ключи в словаре.

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

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

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

dictionary_tk = {
«name»: «Leandro»,
«nickname»: «Tk»,
«nationality»: «Brazilian»,
«age»: 24
}

print(«My name is %s» %(dictionary_tk[«name»])) # My name is Leandro
print(«But you can call me %s» %(dictionary_tk[«nickname»])) # But you can call me Tk
print(«And by the way I’m %i and %s» %(dictionary_tk[«age»], dictionary_tk[«nationality»])) # And by the way I’m Brazilian

Здесь у нас пара из ключа(age) и значения(24). При этом ключ это строка, а значение это число.

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

dictionary_tk = {
«name»: «Leandro»,
«nickname»: «Tk»,
«nationality»: «Brazilian»,
«age»: 24
}

dictionary_tk[‘age’] = 24

print(dictionary_tk) # {‘nationality’: ‘Brazilian’, ‘age’: 24, ‘nickname’: ‘Tk’, ‘name’: ‘Leandro’}

Нам просто нужно дописать значение для существующего ключа в словаре. Ничего сложного, не так ли?

Python: Data Science

Наверняка кто-то уже написал статью о причинах популярности Python среди дата-сайентистов. Эти причины нам, по правде сказать, не слишком важны, просто запомним, что на данный момент Python главный язык в науке о данных.

Если вы планируете карьеру в этом направлении, то в дополнение к основным вебинарам прочитайте статьи:

  1. Карта развития дата-сайентиста: с чего начать и куда идти.
  2. Как изучить Data Science по-настоящему (а не развлекаться трюками).
  3. Семь базовых понятий из статистики для Data Science.

А также статью про математику для джунов.

Изображение: Public Domain

Первые модели

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

  • Галопом по питону: языковой минимум для начинающего дата-сайентиста.
  • Первичное преобразование данных: использование библиотеки Pandas.
  • Ваша первая модель машинного обучения.

Делаем умного чат-бота

Николай Герасименко, ведущий исследователь данных в «Сбере», научит вас делать умных чат-ботов.

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

Интенсив «Чат-бот с искусственным интеллектом на Python»: первый день, второй день, третий день .

Пишем зрячую нейросеть

Уже знакомый нам Никита Левашов покажет, как сделать приложение с нейронкой внутри.

  • Первый день: основы Python для работы с нейросетью, работа в Google Colab, что такое компьютерное зрение.
  • Второй день: обучение модели распознаванию объектов.
  • Третий день: написание приложения, подключение его к стриму.

Интенсив «Пишем нейросеть для распознавания предметов и слежки»: первый день, второй день, третий день.

Установка редактора кода

Для работы нам понадобится редактор кода (IDE). Самые популярные:

  • PyCharm
  • Atom
  • Visual Studio Code
  • Sublime Text

Для установки Atom в Ubuntu введем в терминале:

wget -qO — https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add —
sudo sh -c ‘echo «deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main» > /etc/apt/sources.list.d/atom.list’
sudo apt-get update
sudo apt-get install atomРис. 1. Страница установки Atom для Windows

Для Windows скачаем Atom с официального сайта. После установки редактора кода установим для него плагин run-python-simply (есть и другие) для запуска Python. Два способа установки:

  • Перейдем на страничку плагина и нажмем кнопку Install.
  • Откроем Atom, перейдем во вкладку File → Settings → Install , введем в поле поиска run-python-simply и установим его.

Проверенный способ освоить Python с нуля

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

  1. Изучение основ программирования.
  2. Выбор редактора.
  3. Чтение литературы.
  4. Практика.
  5. Изучение чужого кода.

1. Изучение основ программирования

Если человек ни разу не сталкивался с программированием, то имеет смысл начать с самых азов. Достаточно прочитать пару статей в интернете на тему «базовое программирование». Альтернативные варианты — бесплатные курсы на русском языке. Хорошие варианты курсов — CS50 или другие обучающие каналы на Youtube.

Подборка курсов по Python:
ТОП курсов по Python

2. Выбор редактора

Когда азы программирования уже «устаканились» в голове, стоит перейти к самому легкому этапу — выбору IDE.

IDE — интегрированная среда разработки, в которой пишется код

Грубо говоря, IDE это редактор, заточенный под написание программного кода. Программу на «Питоне» можно писать и в «блокноте». Однако IDE предоставит вам огромный функционал — это различные подсказки, автодополнения кода, автоформатирование и т.д. Весь этот функционал поможет начинающему Python-программисту писать код.

Среди редакторов отдельным особняком стоит PyCharm от компании JetBrains.

PyCharm — IDE для профессиональной разработки на Python.

Данный инструмент рекомендуется как новичкам, так и опытным программистам.

Преимущества PyCharm:

Заработок на криптовалюте
  • бесплатный (версия Community);
  • легко установить;
  • множество «фишек», которые облегчают работу.

Конкретные возможности PyCharm:

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

PyCharm крайне быстр. Интерфейс редактора «user-friendly». Новичку будет трудно потеряться в удобном и комфортном функционале данного редактора.

Интересный факт — PyCharm используется в NASA

Существуют и другие IDE, на которые также стоит обратить внимание:

  • Visual Studio Code (VS Code);
  • Sublime text 3;
  • Eclipse;
  • Atom;
  • Vim.

3. Чтение литературы

Чтение литературы — «сердцевина» всего обучения. От человека требуется только две вещи: умение читать и немного усердия. Все остальное придет в процессе чтения.

Интернет пестрит десятками различных книг, которые предлагают простое и удобное введение в Python. Но ни одно, даже самое блестящее пособие, не сравнится по успешности с книгой «Укус Питона». Она бесплатна и удобна — идеально подойдет для начинающих. Если читать данное пособие нет времени или желания, то есть альтернатива — курс по основам Python на ru.hexlet.io.

☝️ Важный момент касается методики чтения. «Горячим головам», которые могут читать книги взахлеб на одном лишь интересе имеет смысл немного «охладиться». Конечно, никто не запрещает читать пособия за один присест, но есть более эффективный способ обучения:

  1. Читаем теорию до появления примера кода.
  2. Закрываем книгу.
  3. Пробуем набрать код.
  4. Открываем книгу и читаем дальше.

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

Львиная доля новичков воспринимает только непосредственные строки родного языка, а примеры кода пропускаются на «черный день». Такая методика плохо работает по ряду причин:

  • без кода не будет практики, что автоматически ударит на общем навыке программирования;
  • пример кода неразрывно связан с повествованием книги.

Если пропустить код, то пропустится самое интересное и наглядное место в литературе.

Подборка книг по Python:
Топ книг по обучению языку Python

4. Практика

Следующий этап — практика. Python — это в первую очередь язык. Крайне важно знать основы синтаксиса и грамотно писать код. Для того чтобы отточить навык написания скриптов на Python, подойдут видео на YouTube, в которых люди последовательно пишут программу в реальном времени. Достаточно повторять за ними. Вот пример одного из них.

В чем смысл повторять за Youtube блогером?

  1. Это отличный способ систематизировать знания. Вы пройдете с нуля до работающего приложения, охватив все этапы создания программы.
  2. Вы поймете, как грамотно писать код. Влогер комментирует его, объясняя, как и зачем он использует ту или иную конструкцию. По ходу написания вы будете узнавать новые конструкции, фишки, «best practices» и нюансы языка.
  3. Писать код по маленьким порциям проще (в отличие от статей, где часто выкладываются сразу большие куски кода).

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

Списки: коллекция, массив, структура данных

Представьте что вы хотите сохранить значение 1 в переменной. или может теперь вы хотите сохранить 2. А ещё 3, 4, 5…

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

Список(массив) это коллекция, которая может быть использована для хранения нескольких значений(в нашем случае чисел). Используется он следующим образом:

my_integers = [1, 2, 3, 4, 5]

Это действительно просто. Мы создали список и сохранили его в my_integers.

Но затем мы спросим себя: «А как нам получить нужное значение из списка?».

Хороший вопрос. В списках есть концепция, которая зовётся номером (индексом). Номером первого элемента в списке является 0, следующий получает 1 и так далее.

Чтобы донести это проще, мы можем представить список, у которого каждый элемент подписан своим номером. Как на следующей картинке:

Используя синтаксис Python не сложно понять и следующее:

my_integers = [5, 7, 1, 3, 4] print(my_integers[0]) # 5
print(my_integers[1]) # 7
print(my_integers[4]) # 4

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

relatives_names = [
«Toshiaki»,
«Juliana»,
«Yuji»,
«Bruno»,
«Kaio»
] print(relatives_names[4]) # Kaio

Это работает точно так же, как и с числами. Неплохо.

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

Самая простая функция, которую можно использовать для этого — зовётся append. Работает она следующим образом:

bookshelf = [] bookshelf.append(«The Effective Engineer»)
bookshelf.append(«The 4 Hour Work Week»)
print(bookshelf[0]) # The Effective Engineer
print(bookshelf[1]) # The 4 Hour Work Week

Функция append донельзя проста. Вам всего лишь нужно использовать новый элемент(в примере выше это «The Effective Engineer») как значение это функции.

Ну что же, достаточно о списках. Перейдём к следующей структуре данных.

2. Hello, World

Создадим файл example.py, где example – имя файла, .py – расширение, которое означает, что программа написана на языке программирования Python.

Напишем в example.py следующую строчку:

print(‘Hello, World’) # Hello, World

У нас установлен плагин run-python-simply и запустить код мы можем двумя способами:

  • перейти во вкладку Packages → Run Python Simply → Toggle F5;
  • или нажать на клавишу F5.

После запуска кода появится окно терминала с результатом или ошибкой.

В нашем случае в терминале отобразится фразаHello, World.

Здесь:

print() – функция, выводящая на экран фразу Hello, World.

‘Hello, World’ – строка (заключена в кавычки).

Также можно использовать переменную word, которой присвоим значение ‘Hello, World’:

word = ‘Hello, World’
print(word) # Hello, World

Python – язык с динамической типизацией, то есть нам не нужно заранее объявлять тип переменной, является ли она строкой, числом и так далее.

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

5. Условные инструкции

Рис. 5. Условный оператор if в Python

Оператор if выполняет код в зависимости от условия. Проверим, если число три меньше пяти, то выведем на экран слово true:

if 3 < 5:
print(‘true’) # true

Попробуем оператор if-else. else переводится как «в другом случае». Когда условие if не выполняется, то идет выполнение кода после else:

if 3 > 5:
print(‘true’)
else:
print(‘false’) # false

elif = else + if – код выполняется, если предыдущее условие ложно, а текущее истинно:

number = 15
if number < 3:
print(‘число меньше трех’)
elif 4 < number < 10:
print(‘число в промежутке от 4 до 10’)
elif number > 10:
print(‘число больше 10’) # число больше 10

Не-публичные экземпляры данных

Мы не используем термин «приватный», поскольку в Python нет действительно приватных атрибутов(если только не задаваться тяжёлой целью создать их). — PEP 8

Точно так же, как с публичными экземплярами переменных, мы можем объявить и не-публичные экземпляры. Оба внутри конструктор-метода или внутри класса. Синтаксис несколько отличается: не-публичные экземпляры переменных должны начинаться с нижнего подчёркивания(«_») перед именем переменной.

«‘Приватный’экземпляр данных, доступ к которому открыт только изнутри, не существует в Python. Тем не менее, есть условность, которая выполняется в большей части Python-кода: имена с префиксом «_»(например, «_spam») должны обрабатываться как не-публичные части API(будь то функция, метод или какие-то данные)» — Python Software Foundation

Вот пример:

class Person:
def __init__(self, first_name, email):
self.first_name = first_name
self._email = email

Увидели переменную email? Вот так мы описываем не-публичную переменную:

tk = Person(‘TK’, ‘tk@mail.com’)
print(tk._email) # tk@mail.com

Мы имеем доступ и может обновить это. Не-публичные переменные это условность, при которой эти переменные обрабатываются как не-публичная часть API.

Таким образом мы создаём метод, который позволяет нам вносить изменения внутри определения класса. Давайте реализуем два метода(email и update_email), чтобы понять это:

class Person:
def __init__(self, first_name, email):
self.first_name = first_name
self._email = email

def update_email(self, new_email):
self._email = new_email

def email(self):
return self._email

Теперь мы имеем доступ и можем обновить значения не-публичных переменных используя эти методы. Посмотрим:

tk = Person(‘TK’, ‘tk@mail.com’)
print(tk.email()) # => tk@mail.com
tk._email = ‘new_tk@mail.com’
print(tk.email()) # => tk@mail.com
tk.update_email(‘new_tk@mail.com’)
print(tk.email()) # => new_tk@mail.com

  • Мы объявили новый объект, в котором first_name заполнено строкой «TK» и email заполнено строкой «tk@mail.com»
  • Выводим email получая доступ к не-публичной переменной через метод
  • Пробуем задать новый email извне нашего класса
  • Нам нужно обращаться в не-публичной переменной как к не-публичной части API
  • Обновляем нашу не-публичную переменную с нашим методом экземпляра
  • Успех! Мы можем обновить это внутри нашего метода с помощью метода-помощника

Лучший способ изучить Python бесплатно

Итак, вы решили изучать Python. Теперь разберемся с тем, как сделать это быстро.

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

Шаг 1: определение мотивации

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

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

Вы хотите начать карьеру разработчика? Или стремитесь разбираться в современных технологиях? Это — хорошие причины, чтобы начать.

Шаг 2: изучите основы Python

Вы можете быть искушены идеей сразу же приступить к разработке сайта, но такой подход не работает. Вы будите тратить часы на устранение ошибок, возможно, разочаруетесь в программировании. Решите — «это не мое».

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

Давайте рассмотрим план изучения Python с нуля:

  1. Синтаксис:
    • Как создаются программы Python.
    • Переменные.
    • Типы данных.
    • Вывод инструкций в консоль.
    • Арифметика (базовая математика).
    • Комментарии.
  2. Условные конструкции.
    Они помогают управлять потоком программы. Именно с их помощью можно сказать программе, чтобы она выполнила ту или иную задачу при соответствии условию. Например, выполнить какое-то действие после авторизации пользователя.
  3. Циклы.
    Разрабатывая программу, вам может потребоваться выполнить одну и ту же логику несколько раз. Например, при создании викторины вы хотите дать пользователю 5 попыток. Цикл — это структура Python, позволяющая запустить определенный код указанное количество раз.
  4. Функции.
    Важная структура Python. С их помощью можно избежать повторений. Используя функции, программисты могут создавать код, который проще переиспользовать.
    Например, можно создать функцию, которая складывает два числа. И в следующий раз при необходимости выполнить операцию сложения достаточно будет просто ее вызвать.
    Вот что нужно знать касательно функций в Python:
    • Как они работают.
    • Формальные и реальные параметры.
    • Системные и пользовательские функции.
    • Импорт библиотек.
    • Основы объектно-ориентированного программирования.
  5. Списки и словари. После изучения функций можно изучить типы данных для последовательностей.
    1. Списки хранят коллекции похожих данных в одной переменной. Например, список в Python может хранить перечень обуви, продаваемой в определенном магазине. В другом могут быть компании, доставляющие продукты в рестораны. С помощью списков можно хранить похожую информацию в одном месте. Это же позволяет потом проще управлять такими данными.
    2. Словари похожи на списки. С их помощью данные можно хранить в формате ключ-значение. Ключ выступает в качестве ярлыка для хранящегося значения.
    Вот что нужно знать о списках:
    • Основы списков.
    • Как они индексируются.
    • Основы словарей.
    • Сравнение списков и словарей.
    • Структуры данных в Python.
    • Как получить часть списка.
    • Как перебрать элементы списка.
  6. Объекты и классы.
    • Python — это объектно-ориентированный язык. Классы — это «чертежи» объектов. Они определяют, как именно объекты будут структурированы, и что они смогут хранить. Разработчики используют классы, чтобы избежать повторений и увеличить эффективность кода.
    • Объекты — это экземпляры класса. Например, класс может определять структуру игрока. Объектом же будет выступать сам игрок. Этот объект будет хранить имя игрока и дату, когда тот зарегистрировался для участия.
  7. Работа с файлами.
    Файлы повсеместно используются в Python-программах для хранения и получения информации.
  8. Другие подтемы.
    Это лишь некоторые из тем Python, но, освоив их, вы уже будете развиваться как профессиональный разработчик. Дальше в процессе вам будут встречаться все более сложные и продвинутые темы.

Онлайн-курсы по Python

Сайты-справочники и ютуб

Книги по Python

Шаг 3: создание проектов

Лучший способ научиться программировать — разрабатывать собственные проекты. Это помогает применять полученные знания и учиться, пробуя новое.

Чем больше вы пишите на Python, тем больше учитесь. Вы ставите цель, следуете ей и одновременно получаете новые навыки.

И даже это еще не все. Это также помогает развивать свое портфолио. А с его помощью вы сможете предлагать свои услуги работодателям.

Но прежде чем вы начнете создавать что-то масштабное, попробуйте с чего-нибудь попроще. Главное — создавать что-то, что развивает ваши способности.

Советы по созданию первых проектов

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

  • Посмотрите, что создают другие разработчики.
  • Поищите открытый исходный код, в развитии которого можно было бы поучаствовать. У GitHub даже есть руководство на эту тему.
  • Займитесь волонтерством и предоставьте свои навыки местной некоммерческой организации.
  • Добавьте новые функции в уже существующее приложение.
  • Присоединитесь к сообществу разработчиков в slack или телеграме, чтобы знать, чем они занимаются.

Главное — начинать с малого. Например, вы можете создать трекер привычек. Вот еще несколько идей для проекта:

  • Инструмент, предсказывающий стоимость акций.
  • Сайт для показа рейтинга фильмов.
  • Приложение, чтобы делиться любимыми книгами с друзьями.
  • Телеграм бота для списка дел.
  • Приложение для отслеживания привычек.
  • Игру гонки.
  • Консольный покер или блэкджек.
  • Сайт для сокращения ссылок.
  • Инструмент, который агрегирует интересующий вас контент.

Операции со строками

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

Примеры операций со строками:

Объединение:

str = «welcome » + «to python»

print (str)

Умножение:

str = «Losst» * 2

print (str)

Объединение с преобразованием (с числом или логическим значением):

str = «Это тестовое число » + str(15)

print (str)​

Читайте также: Списки в Python и методы работы с ними

Каждый из примеров рекомендуется внести в интерпретатор и посмотреть на результат. Понятно, что такие пробы ни к чему не приведут без теоретической основы. В ее качестве рекомендуется взять книги «Программируем на Python» Майкла Доусона и «Hello World. Занимательное программирование» Картера и Уоррен Сэнд. Также будут полезны «Изучаем Python» Марца Лутца и «Python – к вершинам мастерства» Лучано Рамальо.

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

Источники
  • https://PythonRu.com/baza-znanij/python-obuchenie-s-nulya
  • https://www.kadrof.ru/articles/61058
  • https://vc.ru/dev/177135-izuchenie-python-ot-nulya-do-mastera
  • https://timeweb.com/ru/community/articles/rukovodstvo-po-izucheniyu-python-s-nulya-s-primerami
  • https://proglib.io/p/bystryy-samouchitel-kak-osvoit-python-za-30-minut-2021-01-11
  • https://skillbox.ru/media/code/kak-izuchit-python-samostoyatelno-i-besplatno/
  • https://pythonchik.ru/osnovy/kak-vyuchit-python-s-nulya
Евгений Волик

¡Hola amigos! Здесь я выкладываю подборки с курсами для обучения разным профессиям с нуля. Проект существует с 2021 года и постоянно развивается.

Оцените автора
( Пока оценок нет )
Evgenev.ru