Код #Статьи

29 ноября, 2024

С нуля в Python. Что учить, если вы хотите в Python-разработку

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

Где используют Python

Python — один из самых популярных сегодня языков программирования и №1 согласно индексу TIOBE. Позади остались даже C и Java. 

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

Эту популярность легко объяснить: Python простой и понятный, код на нем удобно читать. Гвидо ван Россум, создатель этого языка, изначально ставил своей целью разработать инструмент, который упростит задачи программистом на С и С++. 

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

Узнайте, как создаются веб-сайты и приложения на Python, как работают нейросети, напишите с нуля Telegram-бота для турагентства и научитесь программировать на самом востребованном языке после курса «Python»

Узнать больше

Чаще и активнее всего Python используют в веб-разработке, машинном обучении и для анализа Big Data. На нем написаны Instagram и Pinterest, а Google, Pixar и Spotify активно используют его в своих целях — от производства фильмов до алгоритмов обучения искусственного интеллекта.

То, что вы могли не знать о Python

У Python есть свод из 19 правил «The Zen of Python», которым стараются следовать разработчики. 

 

Пример правил:

 

  • Красивое лучше ужасного.
  • Явное лучше неявного. 
  • Простое лучше сложного. 
  • Python — высокоуровневый язык программирования, как и большинство популярных. Это значит, что команды на нем предельно близки к естественными, а не машинному языку, поэтому их проще освоить и понимать. 
  • Python — интерпретируемый язык, поэтому для выполнения команд построчно ему необходим интерпретатор. Существуют также компилируемый, написанный на них код запускается при помощи компилятора. Интерпретатор проверяет код построчно и позволяет быстро найти ошибку и исправить ее. Компилятор обрабатывает код быстрее, поэтому написанные с помощью компилируемого языка программы выигрывают в быстродействии. 
  • Python — язык со строгой и динамической типизацией. Строгая типизация запрещает объединять разные типы переменных. Динамическая означает проверку типа данных только при запуске программы. Так что, если в коде есть число, которое пытается заменить функцию, при исполнении это будет видно. У динамической типизации есть плюс — быстродействие. Ее минус в более низкой надежности. 

Какие темы стоит изучать на старте

Те, кто начинает изучать Python самостоятельно с нуля, сталкиваются с главными вопросами:

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

Вот ответ на первый вопрос. Чтобы начать разбираться в «Питоне», понадобится изучить:

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

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

Обучайтесь по алгоритму:

  • попробовали,
  • получилось — идите дальше,
  • не получилось — гуглите ошибку,
  • не получилось — гуглите чаты, Telegram-каналы, группы, где сидят «питонисты», спрашиваете у них, разобрались — идите дальше,
  • разбираете любую тему — см. пункт 1. 

В целом самостоятельное обучение можно построить по такой схеме. 

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

  • Основы

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

Первые шаги — знакомство с основными операторами, базовым синтаксисом и библиотеками. После изучение синтаксиса стоит закрепить на практике и выполнить несложную задачу. Например, нарисовать график курса доллара в Anaconda. Следующий шаг — типы данных. 

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

«Простой Python. Современный стиль программирования», Билл Любанович 

«Программируем на Python», Майкл Доусон

  • Введение в алгоритмы

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

«Грокаем алгоритмы», Адитьи Бхаргава

  • Объектно-ориентированное программирование

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

«Object-oriented Python», Irv Kalb

  • Конкурентность

Базовый код уже освоен, пора узнать, что такое многопроцессорность и многопоточность. 

«Asyncio и конкурентное программирование на Python», Мэттью Флауэр 

  • Тестирование кода

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

«Python Testing with pytest», Brian Okken

«Принципы юнит-тестирования», Владимир Хориков

  • Углубление знаний и практика

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

«Python – к вершинам мастерства» (второе издание), Лусиану Рамальо

«Dead simple Python», Jason C. Mcdonald

«Effective Python. 90 specific ways to write better Python» (second edition), Brett Slatkin

Сколько зарабатывают Python-разработчики

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

Уровень зарплаты зависит не только от опыта, но и от направления, в котором работает Python-разработчик.

Скриншот с сайта hh.kz
Скриншот с сайта hh.kz

Senior-специалисты ожидаемо могут надеяться на более высокий старт.

Скриншот с сайта hh.kz

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

Скриншот с сайта hh.kz

Полезные ресурсы от редакции Skillbox.kz

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

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

Забрать доступ