img
img
24 февраля 2022
15 апреля 2022
9 мин
180

Как начать изучать Python

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

img
Автор статьи
Виктория Дербенченко
Редактор
img

Создатель Python — голландский программист Гвидо ван Россум. Он разрабатывал язык в свободное от работы время. Когда силы кончались, он падал в кресло и включал одну и ту же передачу — «Летающий цирк Монти Пайтона». Поэтому назвал свое детище в честь любимого шоу.

Что такое Python

Python — это скриптовый язык программирования. Скриптами называют сценарии работы программ для решения конкретных задач.

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

Преимущества и недостатки

✅Понятный синтаксис и читаемость. Python написан на основе языка ABC. Он не подходит для системного программирования, но помогает освоить базу. Где Java использует пять строк, а C — четыре, Python обходится одной. Чтобы оформить логический блок, нужны отступы и пробелы. И никаких скобок.

✅Динамическая типизация. Программы работают с данными при помощи переменных. Чтобы создать переменную в других языках со статической типизацией — С, С++, TypeScript — необходимо указать тип, который в ней будет храниться. Но в Python язык сам присваивает нужный тип переменной. Это ускоряет разработку.

✅Сборщик мусора. В Python не нужно чистить внутреннюю память. Если часть кода перестает ссылаться на объект, сборщик мусора отправляет его в менеджер памяти. Это дополнительное хранилище для объектов весом менее 512 байт.

✅Готовые библиотеки. Это наборы инструментов для решения конкретных задач. Программисты называют их фреймворками. В Python — около сотни библиотек. Например:

  • Pygame для создания небольших игр;
  • NumPy для машинного обучения;
  • SQLAlchemy для анализа баз данных;
  • Bubot для робототехники.

❌Скорость работы программ. Динамическая типизация, хорошая читаемость облегчают работу программиста. Но ухудшают общую производительность. Python — это про скорость разработки, но не выполнения кода. Для сравнения: приложения для iOS на Swift работают почти в 10 раз быстрее. Python также не подходит для задач, которым важен большой объем памяти. Их лучше решать вставками на C или C++.

❌Зависимость от системных библиотек. Предположим, у нас есть два проекта: A и B. Оба написаны с помощью библиотеки C.

Проблема возникнет, если нужны разные версии библиотек. Например, 1.0.0 для A и 2.0.0 для B. Python не различает версии в каталоге пакетов.

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

❌Global Interpriter Lock (GIL) — глобальная блокировка интерпретатора. Она накладывает ограничения на потоки и запрещает использовать несколько процессоров одновременно. Это основная проблема производительности в Python. Код GIL не менялся с первой версии языка. Остается надеяться, что разработчики уделят этому внимание в ближайших релизах.

Средняя зарплата Python-разработчика

Согласно информации на habr.com, в первом полугодии 2021 года Python-разработчик зарабатывал в среднем 130 000 ₽. Это на 8,3% больше, чем во втором полугодии 2020 года.

Рекрутинговое агентство RealHR по подбору digital- и IT-специалистов опубликовало вилку зарплат в Москве: от 114 942 до 402 298 ₽. Зарплата зависит от квалификации:

Как начать изучать Python

Диапазон зарплат Python-разработчиков в Москве во втором квартале 2021

Где и как применяют

Чаще Python применяют в веб-разработке и data-science. На нем написали Instagram (организация признана экстремистской и запрещена на территории России) и DropBox. Netflix и Spotify использовали Python для анализа пользовательских данных. А также с его помощью создали сервисы персональных рекомендаций.

Вот краткий список сфер применения Python.

Веб-разработка. Чтобы дополнить функционал Python, используют фреймворки по типу Django, Pyramid или Flask.

Софт. На Python писали некоторые десктопные программы, например, BitTorrent-клиент.

Игры. Модули игр EVE Online, Battlefield 2, World of Tanks создавали на Python.

Встроенные системы. Python используют в компьютерах Raspberry Pi для работы с датчиками через GPIO. И в Сбере — для управления банкоматами.

Программные скрипты. На Python пишут плагины и скрипты к готовым программам. Этот язык применяют для анимации в Disney.

Системное администрирование. На Python работают практически все серверы ОС Linux.

Data science. IT-гиганты — Amazon, Facebook (организация признана экстремистской и запрещена на территории России), Google — обслуживают хранилища данных и облачные сервисы при помощи Python.

Что можно написать на Python

Back-end сайта. Python превращается в мощный серверный язык с помощью библиотек Django и Flask. На нем работают с URL-адресами, базами данных и HTML-файлами.

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

Бот. Это программа, которая автоматически выполняет определенную последовательность команд. Ботов используют в техподдержке или для анализа пользовательской активности. По этому принципу работают Google Analytics и Яндекс.Метрика.

База данных. Это основа любого большого проекта. В ней есть информация о пользователях, данные об изменении программ. Системы управления базами тоже пишут на Python.

Дополненная реальность. Python используют для AR-приложений. Проецировать виртуальные объекты на реальные помогают специальные метки. Они накладывают изображение на окружающее пространство.

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

Нейронная сеть. Мы уже упоминали Netflix и Spotify, чьи сервисы рекомендаций создавали при помощи Python. Добавим еще Amazon и Uber. Они используют Python для подбора товаров и такси.

Парсер. Это ПО для сбора и обработки информации. С его помощью следят за курсом доллара или анализируют целевую аудиторию в соцсетях. Чтобы создать парсеры, на Python нужны библиотеки: Beautiful Soup, Ixml и Requests.

Что не стоит писать на Python

❌Микроконтроллеры. Хотя и существует MicroPython, реальный список микроконтроллеров с поддержкой Python — почти нулевой.

❌Кросс-платформенные GUI-приложения. У Python есть специальные биндинги для создания графического интерфейса — PyQt или Tkinter. Но ни с одним из них не разработать полноценное приложение.

❌Мобильные приложения. Для них больше подходят Java или C.

Основы Python

Синтаксис — набор правил:

  • Конец строки — конец инструкции. Ставить точку с запятой не надо.
  • Инструкции группируют в блоки по длине отступов. Один блок — одинаковый размер отступа в каждой строке.
  • Вложенные инструкции пишут по единому шаблону. Основная инструкция → двоеточие → вложенный блок кода с отступом.

Циклы. Нужны для повторения частей кода. Ряды циклов называют итерациями. Python поддерживает два цикла:

  1. For — для перебора элементов последовательности. Например, чтобы повторить фрагмент кода n раз.
  2. While — для перебора блока кода. Например, когда непонятно, сколько раз нужно повторить итерацию.

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

Вызвать функцию — передать ей вводные для выполнения и вывода результата. Чтобы определить функцию, вводят команду «def». Например:


def add(x, y):
return x + y

Ключевое слово «def» сообщает Python, что вы определяете функцию. После укажите имя, поставьте круглые скобки и напишите в них один или несколько параметров. После скобок ставьте двоеточие, а новую строку начинайте с отступа в четыре пробела. В примере выше функция add принимает два параметра (x и y) и возвращает их сумму.

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

Класс объединяет набор функций и переменных. Функции — это методы класса, которые определяют его поведение. Переменные класса называют атрибутами. В них хранится состояние класса.

Списки в Python — упорядоченные изменяемые наборы объектов. При этом объекты могут быть разными — от целых чисел до строк. Списки могут также хранить в себе списки.

Массивы. Это структуры данных для хранения значений одного типа. Массивы очень похожи на списки, но между ними есть одно отличие. Списки содержат значения разных типов данных, но массивы — никогда.

Чтобы использовать массив, импортируйте array модуль:

from array import *

После импорта объявите сам массив:

arrayIdentifierName = array(typecode, [Initializers])

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

*.py

Название файла — название модуля. Для подключения модуля из стандартной библиотеки нужна команда:

import

После указывают название модуля.

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

my_string = "Hello, world.

Сообщение Python:


Traceback (most recent call last):

File error.py, line 1

my_string = "Hello, world.

SyntaxError: EOL while scanning string literal

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

z = 100 / 0

Запускаем этот код, и программа выдает ошибку:


Traceback (most recent call last):

  File "", line 1, in

ZeroDivisionError: division by zero

Чтобы обработать исключения, используют ключевые слова «try» и «except».

Виртуальные среды. Цель виртуальной среды — создать изолированное окружение проектов Python. Подобно песочнице, каждое приложение играет со своими фреймворками и не трогает другие. Виртуальные среды облегчают программисту жизнь. Особенно, если он пишет код на сторонних библиотеках. Количество окружений не ограничено.

У разработчиков Python есть своя философия. С нотами дзена и абсурдного британского юмора. Чтобы узнать ее принципы, наберите в строке ввода команду:

>>> import this

философия Python

С чего начать изучать

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

Главное — понять основы. Заходите на YouTube и смотрите бесплатные уроки, читайте официальное руководство, книги и много практикуйтесь.

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

📕Марк Лутц «Изучаем Python»

📕Пол Бэрри «Изучаем программирование на Python»

📕Тони Гэддис «Начинаем программировать на Python»

📕Большая подборка книг со ссылками на скачивание в Телеграм-канале Python книги

📕Каналы питонистов Python Academy, Python School

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

В конце получите диплом о профессиональной переподготовке. Рекрутер поможет составить цепляющее резюме и подготовиться к собеседованиям. Доступ к материалам курса остается у вас навсегда.

Что важно знать о Python

  • Python — простой язык программирования. У него понятный синтаксис и много полезных встроенных функций.
  • По скорости разработки Python нет равных. Но скорость выполнения кода оставляет желать лучшего. Поэтому для масштабных проектов берут другие языки.
  • Python-разработчикам открыты двери. Компании-гиганты — Google, Facebook (организация признана экстремистской и запрещена на территории России), Яндекс, Сбербанк — охотно используют этот язык.
  • В России Python-разработчик в среднем зарабатывает 130 000 ₽. В Москве — от 114 942 до 402 298 ₽.
  • Один из принципов философии Python — никогда не бывает лучше, чем прямо сейчас. Дерзайте и изучайте.
img
Подпишитесь на рассылку, чтобы Не упустить что-нибудь новое
Просто и понятно о том, как получить новую профессию


    Ещё по теме
    img
    Программирование
    IT-компания — это не только Google

    Рассказываем про «Тинькофф», «Билайн» и другие компании.

    16 мая 2022
    2 мин
    карьера
    img
    Программирование
    Как составить и оформить баг-репорт

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

    04 мая 2022
    6 мин
    баг-репорт
    img
    Программирование
    Как работать со списками в Python

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

    02 мая 2022
    5 мин
    python
    списки
    img
    Программирование
    Цикл for в Java: что это, как с ним работать

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

    25 апреля 2022
    6 мин
    java
    циклы
    языки программирования
    img
    Программирование
    Как работать с модулем JSON в Python

    JSON часто применяют, когда разрабатывают API и веб-приложения.

    25 апреля 2022
    9 мин
    python
    языки программирования
    img
    Программирование
    Как IT-специалисту из России найти работу за рубежом в 2022 году

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

    21 апреля 2022
    6 мин
    востребованные профессии
    img
    Программирование
    Что такое HTML: основные теги

    С помощью HTML структурируют страницу на сайте, добавляют картинки, таблицы, списки.

    16 апреля 2022
    6 мин
    html (hypertext markup language)p Language)
    верстка сайтов
    img
    Программирование
    Как работает цикл for в Python

    Цикл for используют, когда количество повторов известно заранее.

    14 апреля 2022
    5 мин
    python
    циклы
    языки программирования
    img
    Программирование
    Комьюнити для разработчика

    Есть комьюнити на платформах, под эгидой компаний или самоорганизующиеся.

    07 апреля 2022
    6 мин
    общение
    сообщество
    img
    Программирование
    Гайд: как определить, какое направление в IT тебе подходит

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

    01 апреля 2022
    9 мин
    выбор профессии
    гуманитарий в IT
    img
    Программирование
    Правильное питание на удаленке. Почему это важно?

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

    01 апреля 2022
    7 мин
    удаленная работа
    img
    Программирование
    Как я нашла время на учебу, когда времени не было совсем

    Благодаря методу «круга-пирога» увидите свое время и возьмете его под контроль.

    30 марта 2022
    7 мин
    дистанционное обучение
    домашняя работа
    самоорганизация
    img
    Программирование
    9 причин, почему не получается внедрять полезные привычки

    Ищите мотивацию, хвалите себя, визуализируйте план и результат.

    30 марта 2022
    8 мин
    постановка цели
    самоорганизация
    img
    Программирование
    Как больше успевать: зачем есть по одной лягушке в день и как справиться со слоном

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

    30 марта 2022
    2 мин
    самоорганизация
    эффективность
    img
    Программирование
    Как поставить цель и не бросить на полпути

    Когда ставите цель, отталкивайтесь от проблемы и конкретизируйте решение.

    30 марта 2022
    6 мин
    постановка цели
    самоорганизация
    img
    Программирование
    Кто такой менеджер проектов, чем занимается и как им стать

    Этот специалист контролирует все этапы проекта и приводит его к успеху.

    30 марта 2022
    8 мин
    управление проектами
    img
    Программирование
    Как не угробить здоровье на удаленке

    Советы всем удаленщикам — больше двигаться, делать зарядку, разминку для глаз.

    30 марта 2022
    9 мин
    удаленная работа
    img
    Программирование
    Junior, Middle, Senior в разработке — кто есть кто и как перейти на уровень выше

    Junior зарабатывает от 40 000 ₽, Middle от 100 000 ₽, а Senior от 250 000 ₽ и выше.

    29 марта 2022
    12 мин
    junior
    middle
    senior
    img
    Программирование
    Как банковская служащая в 32 года с нуля перешла в IT и в 40 открыла свою компанию по разработке онлайн-игр

    Совет от героини: сделайте первый шаг, дальше будет проще; учитесь и идите вперед.

    29 марта 2022
    14 мин
    смена профессии
    смена сферы
    img
    Программирование
    Пять приложений, чтобы не отвлекаться от учебы и работы

    Фишки и стоимость Forest, WaterDo, SleepTown, Alarmy, Pomodoro Timer Lite.

    29 марта 2022
    5 мин
    самоорганизация
    img
    Программирование
    Самый краткий гид по специализациям программистов

    Программист fullstack получает до 550 000 ₽, а на тестировщика учатся 4–15 мес.

    29 марта 2022
    3 мин
    backend-разработка
    c++
    frontend-разработчик
    java-разработчик
    востребованные профессии
    инженер по тестированию
    img
    Программирование
    Язык SQL: что это такое и зачем он нужен

    SQL используют в банках, торговле, перевозках: везде, где много информации.

    29 марта 2022
    7 мин
    mysql
    базы данных
    img
    Программирование
    Как освоить c нуля IT-профессию и перейти на новую работу без опыта

    Сначала поставьте цель: выберите сферу и определите, кем видите себя через 10 лет.

    29 марта 2022
    6 мин
    выбор профессии
    смена сферы
    img
    Программирование
    Словарь IT-сленга

    Термины разработки, Scrum, неформального общения, организационных процессов.

    29 марта 2022
    13 мин
    сленг
    словарь
    img
    Программирование
    Подборка: 33 книги и подкаста для начинающих программистов

    Узнаете о работе программиста и поймете, как писать хороший код.

    28 марта 2022
    10 мин
    книга
    подкаст
    img
    Программирование
    Хакнуть мозг: как современные знания помогают мозгу развиваться и учиться

    Мозг меняется всю жизнь. Мы можем на него влиять: изучать новое, развивать навыки.

    28 марта 2022
    8 мин
    развитие мозга
    img
    Программирование
    Как совмещать работу, учебу, семью и быт: рассказ будущего тестировщика

    Помогает планирование, вера в то, что реально изменить жизнь, поддержка семьи.

    28 марта 2022
    8 мин
    курс обучения
    личная история
    онлайн-образование
    смена профессии
    тестирование
    img
    Программирование
    Что такое CSS и как с ним работать

    С помощью CSS задают цвет, размеры, анимацию, адаптируют сайт под устройства.

    16 марта 2022
    9 мин
    css
    img
    Программирование
    Как создать телеграм-бота на Python

    Python — самый популярный язык программирования в феврале 2022 года.

    16 марта 2022
    9 мин
    python
    img
    Программирование
    Какие профессии в IT подойдут гуманитарию

    Гуманитарию подойдут профессии тестировщика, веб-дизайнера и не только.

    15 марта 2022
    9 мин
    выбор профессии
    карьера
    img
    Программирование
    Frontend или backend: чем отличаются и какой вид разработки выбрать

    Фронтендер создает интерфейс продукта, бэкендер работает с серверной частью.

    15 марта 2022
    7 мин
    backend-разработка
    frontend
    img
    Программирование
    Кто такой Java-разработчик, чем занимается и как им стать

    Обязанности Java-разработчика — писать код, тестировать и улучшать его.

    15 марта 2022
    7 мин
    java
    java-разработчик
    карьера
    img
    Программирование
    Что такое IT-сфера и почему она сейчас так популярна

    IT-отрасль привлекает удаленкой, карьерным ростом, высоким доходом.

    04 марта 2022
    7 мин
    it
    карьера
    img
    Программирование
    Как установить Python на компьютер и начать на нём писать

    Воспользуйтесь Google Colab, онлайн-интерпретаторами или скачайте Python.

    04 марта 2022
    4 мин
    python
    языки программирования
    img
    Программирование
    Как создать приложение для Андроид самостоятельно с нуля: инструкция

    Используйте конструкторы no-code, Java или Kotlin, Android Studio.

    04 марта 2022
    8 мин
    андроид
    разработка
    img
    Программирование
    Postman: как пользоваться программой для тестирования API

    Бесплатный сервис позволяет писать тесты, поддерживает разные типы API.

    04 марта 2022
    6 мин
    api
    postman
    img
    Программирование
    Google Colab: что это такое и как с ним работать

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

    04 марта 2022
    4 мин
    google colab
    img
    Программирование
    Как перейти в разработчики из другой профессии

    Освоить новую профессию реально с нуля в любом возрасте, главное — мотивация.

    03 марта 2022
    8 мин
    карьера
    разработка
    img
    Программирование
    Как помочь ребенку выбрать профессию

    Не выбирайте по принципу «чем проще, тем лучше» и уважайте желания ребенка.

    03 марта 2022
    7 мин
    карьера
    родителям
    img
    Программирование
    Нужно ли высшее образование программисту: сравниваем все «за и «против»

    Важнее опыт и проекты в портфолио, но иногда высшее образование все-таки нужно.

    02 марта 2022
    5 мин
    образование
    img
    Программирование
    Стоит ли переходить на удаленку: плюсы и минусы

    Сегодня удаленка доступна для разных сфер: ИТ, маркетинг, сервис, продажи.

    02 марта 2022
    6 мин
    удаленка
    img
    Программирование
    Какой язык программирования выбрать новичку

    Выбирайте по уровню спроса у работодателей и направлению в программировании.

    24 февраля 2022
    7 мин
    языки программирования
    img
    Программирование
    Фильмы про программистов: лучшие фильмы и сериалы про компьютерных гениев

    20 фильмов и сериалов для тех, кому интересен мир информационных технологий.

    24 февраля 2022
    7 мин
    фильмы
    img
    Программирование
    Фронтенд-разработчик: кто это такой и как им стать с нуля

    Frontend-разработчик создает внешнюю — пользовательскую часть веб-ресурса.

    24 февраля 2022
    8 мин
    frontend
    карьера
    img
    Программирование
    Backend-разработчик: кто это такой и чем он занимается

    Backend-разработчик отвечает за внутреннюю — серверную сторону веб-ресурса.

    24 февраля 2022
    9 мин
    backend
    карьера
    img
    Программирование
    Что такое спринты в программировании и как их выполнять

    Спринты используют в долгих проектах и сложных продуктах.

    24 февраля 2022
    5 мин
    agile
    scrum
    спринты в программировании
    img
    Программирование
    Jupyter Notebook: что это такое и как им пользоваться

    Jupyter-ноутбуки применяют для визуализации данных в big data и data science.

    24 февраля 2022
    7 мин
    jupyter notebook
    python
    разработка
    img
    Программирование
    Как развить soft skills

    Soft skills помогают развивать компетенции, осваивать новые тенденции в работе.

    24 февраля 2022
    11 мин
    soft skills
    саморазвитие
    img
    Программирование
    Как начать изучать Java

    На Java разрабатывают всё: от приложений и ПО до технологий Big Data.

    24 февраля 2022
    7 мин
    java
    java-разработчик
    языки программирования