Содержание
- Машинное обучение
- Практика: делаем график курса доллара
- Обучение на профессию удаленно
- Как стать Python разработчиком, что нужно знать и уметь?
- Что нужно понимать
- Учебники для научной аудитории
- Строки
- В чем заключается работа python-программиста?
- Python Django Dev To Deployment
- Знать Python выгодно
- Функции
- Начало работы в Python
- Ваше резюме после обучения
- Удостоверение и сертификат
- Какое должно быть образование?
- Учебники и сайты
- Плюсы и минусы профессии
- Django 3 — Full Stack Websites with Python Web Development
- Интерактивные курсы
- Closing Note
- Минусы Python
Машинное обучение
В ML, Big Data, AI и других модных словах Python — настоящий король. Он легко обходит главных конкурентов — R и Julia (см. нашу статью о языках программирования для ML). На Python собрано больше всего ML-проектов на GitHub. Лидирует он и в авторитетном рейтинге Towards Data Science.
А ещё у Python куча специализированных библиотек.
- Scikit-learn, на которой Spotify делает свою рекомендательную систему.
- Ramp на основе Pandas для быстрого прототипирования в ML.
- Культовая библиотека для машинного обучения TensorFlow, разработанная исследователями из группы Google Brain в рамках Google AI. Её используют для создания алгоритмов машинного обучения и моделирования сложных процессов.
- PyTorch для создания нейронных сетей.
«Я давно занимаюсь инвестициями — в «Тинькофф.Пульсе» можете найти меня под ником znbiz, а с недавних пор я ещё и разрабатываю свою платформу для управления инвестиционными портфелями. Вот как мне помог Python:
- Нужны были исторические данные — написал парсеры на Python.
- Нужно было сделать модель и обучить её на данных — и тут тоже мне помог Python.
- Нужно получать уведомления (удобнее всего через Telegram) — написал Telegram-бота на Python.
- Понадобился бэк для выгрузки портфелей — да Python именно для этого и создан».
Оценка: машинное обучение —
Практика: делаем график курса доллара
Приступим к последнему заданию — сделаем в Python график курса доллара с начала 2019 года.
Для начала импортируем библиотеки Numpy (в ней удобно работать с массивами и матрицами), Pandas (работа с CSV-файлами) и Matplotlib (визуализация).
Вы можете дать библиотеке имя, которое будете использовать вместо настоящего названия, — это часто делается для экономии времени.
На сайте Центрального Банка РФ скачаем CSV-файл с курсом от начала года.
Записываем скачанный файл в переменную money:
Теперь если мы выведем money, то увидим таблицу с курсом.
Вот такую:
В России принято отделять десятичную часть запятой, поэтому перед созданием графика мы напишем маленькую функцию, которая заменит запятые точками.
Теперь осталось только показать график командой:
Если вы всё сделали правильно, то сейчас вы видите график курса доллара США, у нас получилось вот так:
Обучение на профессию удаленно
Работать Python-разработчиком можно и в офисе и удаленно. Некоторые специалисты выбирают для себя путь фриланса. Возможность работать из дома — существенное преимущество для многих людей.
Пройти обучение Python также можно в режиме онлайн. Прохождение курсов удаленно существенно экономит время. Главное условие успеха — выбрать надежный университет.
Курсы Geekbrains
Курсы по направлению «Разработка на Python» подходят для новичков в сфере IT. Начать обучение можно не имея совершенно никаких представлений о программировании. За период курсов создается портфолио с четырьмя работами, что можно приравнять и к получению опыта по профессии.
Geekbrains гарантирует трудоустройство по профессии в 100% случаев. Длительность обучения составляет 12 месяцев. Стоимость — 4990 руб. в месяц. Внесение средств возможно спустя 6 месяцев после начала обучения.
Онлайн-университет Geekbrains имеет тысячи отзывов, подавляющее большинство которых положительные.
Ольга Т. | Подача материала от простого к сложному. Данный формат обучения подходит для новичков в сфере IT. |
Дмитрий Васин | Хотел пройти дополнительный курс для получения сертификата. Думал, что информация будет для меня слишком простой, на первых уроках так и было. Но со временем объем знаний все увеличивался, и я действительно смог узнать много нового, углубиться в профессию. Хотя я уже имею образование в IT. |
Валерий Ефименко | Действительно трудоустроили! Помогли составить резюме, портфолио и дали советы по прохождению собеседования, на которое же и предоставили направление. Работаю в офисе — доволен. |
Курсы Skillbox
В процессе обучения в онлайн-университете Skillbox предоставляется персональная помощь наставника. Пакет включает не только изучение Python, но и GIT, веб-верстку, английский для программистов. Предлагается помощь в трудоустройстве. Длительность — 12 месяцев. Минимальная доступная стоимость с учетом регулярно проводимых акций — 3664 руб. в месяц.
Анатолий Иванович | Удобный онлайн-формат обучения, наставник на связи 24/7. Центр карьеры Skillbox предлагает немало вариантов трудоустройства только что выпустившимся специалистам. |
Марк | К курсу привлек бесплатный вебинар. Было интересно, насколько информативен сам курс, если уже на вебинаре столько рассказали. Получил дополнительные сведения по своей профессии. (Работаю в IT 5 лет). |
Сергей Б. | Пытался самостоятельно освоить Python, интересовался программированием со школы, но было нереально добиться качественного багажа знаний. Учиться в ВУЗе уже как-то поздновато и долго, обратился к курсам. В целом считаю это одним из лучших решений в моей жизни. |
Яндекс Практикум
В процессе обучения на курсах в Яндекс Практикум пишется три работы для портфолио — социальная сеть, бот-ассистент, приложение.
Формат обучения предполагает регулярные тренировки на онлайн-тренажере и поддержу наставника. Вводный курс предоставляется бесплатно, но полноценный объем знаний доступен только при приобретении продолжения. Диплом Яндекс Практикум высоко ценится у работодателей. Длительность обучения составляет 9 месяцев. Стоимость — 11 тыс. руб. в месяц.
Отзывы студентов, 84% которых рекомендуют пройти курсы.
Алина Осипова | Получила не только знания о Python, но и комментарии от действующих разработчиков, которые сильно помогли мне сориентироваться в профессии. |
Георгий Шор | Огромное удобство — тренажер на той же странице, что и лекция. Не надо никуда переключаться и отвлекаться. Показывают наглядно, рассказывают доступно. |
Александр Н. | Окончил обучение и получил востребованную профессию всего за 9 месяцев! На работу взяли, диплом воспринимается на уровне ВУЗов, которые необходимо посещать лично. Работаю удаленно на компанию. |
Как стать Python разработчиком, что нужно знать и уметь?
Поскольку язык программирования востребован в разных областях, то необходимый стек технологий зависит от сферы, где вы планируете работать, и даже конкретного заказчика. Если говорить о новичках, то в первую очередь необходимо знать:
- Сам язык программирования: синтаксис, операторы, выражения, циклы, массивы, функции. Базовую подготовку можно получить в Skillbox. Здесь есть 6-ти месячный курс для новичков.
- Алгоритмы.
- Фреймворк Django, если планируете трудиться в веб-разработке.
- Освоить работу с базами данных.
- Иметь представление, что такое ООП (объектно-ориентированное программирование).
- Тестирование кода.
-
Знать, как работать с API сторонних сервисов.
Что нужно понимать
Таблица соответствия того, что нужно работодателю и как вы можете ему с этим помочь
Мечта работодателя | Что от вас требуется |
---|---|
делегирование — поставил задачу и её сделали правильно без твоего участия | не боитесь брать на себя ответственность и достаточно компетентны |
скорость разработки (основное преимущество питона) | владеете языком, знаете сторонние библиотеки и понимаете, что скорость разработки очень важна |
надежность системы | тэстирование собственного кода насколько это возможно или требуется |
поддерживаемость (еще одно преимущество синтаксиса и рекомендаций питона) | знакомство с гайдлайнами (pep, import this) и по возможности следование им |
эффективность системы | знакомство со свежими технологиями, библиотеками и другими приложениями |
эффективность разработчика | заинтересованы в проекте. Тут я советую действительно выбирать проекты, которые интересны. |
предсказуемость, возможность планирования | ваши планы на ближайший год ясны |
Интересно что он ей такое сказал на самом деле?
Учебники для научной аудитории
- Beginning Python for Bioinformatics Патрика О’Брайена. Введение в Python для биологов.(К сожалению не удалось найти в сети. Книги с похожей тематикой: Bioinformatics Programming Using Python и Bioinformatics with Python Cookbook)
- Python for Number Theory — это серия уроков по Python (для Jupyter) для применения этого языка программирования в теории чисел и криптографии. Они не требуют предшествующего опыта программирования и подходят для тех, кто изучает элементарную теорию чисел. Введение курса включают тест простоты и протокол Диффи — Хеллмана.
- Python for biologists содержит различные ресурсы по обучению на Python для людей с опытом работы в области биологии.
Строки
Строки в Python обособляются кавычками двойными «»» или одинарными «’». Внутри двойных ковычек могут присутствовать одинарные или наоборот. К примеру строка «Он сказал ‘привет’!» будет выведена на экран как «Он сказал ‘привет’!». Если нужно использовать строку из несколько строчек, то эту строку надо начинать и заканчивать тремя двойными кавычками «»»»». Вы можете подставить в шаблон строки элементы из кортежа или словаря. Знак процента «%» между строкой и кортежем, заменяет в строке символы «%s» на элемент кортежа. Словари позволяют вставлять в строку элемент под заданным индексом. Для этого надо использовать в строке конструкцию «%(индекс)s». В этом случае вместо «%(индекс)s» будет подставлено значение словаря под заданным индексом.
В чем заключается работа python-программиста?
Благодаря универсальности языка Python, написание программ на нем востребовано во многих направлениях. Специалисты в этой сфере предоставляют следующие услуги:
- Веб-разработка. Часть сайтов, которая взаимодействует с сервером часто пишется на Python. На нем же написаны аналитические программы, которые фиксируют данные о сайтах.
- Разработка мобильных приложений. Например, бэкенд-часть (невидимая глазу пользователя составляющая) Instagram написана на данном языке.
- Написание скриптов. При разработке игр скрипты встраиваются в программы, написанные на других языках программирования. Скрипты обеспечивают автоматизацию приложений, позволяя не писать несколько сценариев, а использовать всего один код.
- Программное обеспечение. Python дает возможность подстроить ПО под любую операционную систему.
- Машинное обучение. Python-разработчики наделяют системы способностью самостоятельно анализировать информацию.
- Глубокое обучение — встраивание кода, который позволяет еще быстрее и проще обрабатывать информацию и выдавать подробный анализ.
- Помощь в работе системных администраторов. Для контроля над операционной системой и локальными сетями требуется совместить Python и Bash.
- Разработка десктопных программ. Различные приложения для визуализации и анализа для компьютера разрабатываются с использованием Python.
- А также язык используется в банкоматах, автоматизированных станках, различном оборудовании.
Python внедряется в большинство приложений, игр, сайтов, поэтому у программистов, работающих на этом языке всегда будут задачи в работе. Помимо создания новых программ, требуется доработка, исправление и поддержка уже существующих.
Python Django Dev To Deployment
If you want to learn Django and web development through practical exercises, then this course is the right for you. This course is designed to take you to an advanced level of web development from the beginning of the python programming language basic syntax until the deployment of the web application.
Here are the main things you will learn in this course:
- How to use Python even if you are a beginner.
- Building a real estate website with Django and PostgreSQL.
- Building a virtual environment and deploying the web app.
Created by Brad Traversy this Python and Django course has more than 11 hours of practical videos and a bunch of examples, such as creating a real estate website.
Here is the link to join this course —Python Django Dev To Deployment
Знать Python выгодно
Программисты, пишущие на Python, могут зарабатывать в России сотни тысяч рублей ежемесячно. Как показало исследование портала SuperJob, для этого даже не обязательно переезжать в Москву или Санкт-Петербург – высокие зарплаты специалистов по этому языку зафиксированы сразу в 30 российских городах.
Python – это один из самых популярных языков программирования во всем мире. Зародившийся в конце 80-х годов XX века и созданный нидерландским разработчиком Гвидо ван Россумом (Guido van Rossum), в настоящее время работающим в Microsoft, в ноябре 2020 г. Python занял второе место в авторитетном рейтинге TIOBE. Тогда он сумел обогнать даже Java, и впереди него остался один только язык С, но к январю 2021 г. Python немного сдал позиции, опустившись на третье место и снова пропустив вперед Java.
Зарплаты программистов Python в России прямо пропорциональны объемам их знаний и опыту работы. В рейтинге SuperJob перечислено 30 городов, в которых знающий Python специалист может ежемесячно получать от 50 до 400 тыс. руб.
Знание Python гарантирует хорошую зарплату
Разумеется, обе российские столицы лидируют в этом рейтинге, но в целом для заработка от 100 тыс. руб., как показало исследование программистам Python вовсе не обязательно жить в городах-миллионниках. Например, в Белгороде с численностью населения около 394 тыс. человек (статистика Росстата на 1 января 2020 г.) они могут получать от 55 до 270 тыс. руб. Плюс к этому, по уровню зарплат в этой сфере Екатеринбург полностью идентичен Санкт-Петербургу.
Функции
Функция – это часть кода, принимающая аргументы и возвращающая вычисленное значение. Аргумент – это объект, отправляемый в функцию. Аргументом может быть какое-нибудь значение или ссылка на него.
функции языка программирования Python
В функции используются параметры и их число не ограничено. Число аргументов соответствует параметрам. Функцию можно объявить в любом месте. Она записывается как:
— def <имя функции> (): — после определения функции ставиться двоеточие, аргументы функции заключаются в круглые скобки. После двоеточия идет со следующей строки отступ и тело функции.
Для выхода из функции используется оператор return, который возвращает значения. Если оператор return не указан, то произойдет возврат значения None.
Функции бывают встроенные и пользовательские. В интерпретаторе Python есть ряд часто используемых функций. Они всегда доступны и можно посмотреть документацию с их описанием и примерами применения. Например, при помощи функции input () можно ввести данные с клавиатуры, а при помощи функции print () вывести данные в консоль. Так, print (“Hello, World!”) выводит строку «Hello, World!».
Еще одной интересной функцией является декоратор. Декоратор позволяет расширить возможности функции, не меняя ее кода, при помощи обертывания функции другой функцией.
Существует возможность написать свою собственную функцию для нужных задач. Кроме этого есть много функций, которые существуют в библиотеках Python и также могут быть использованы при написании скриптов. Для этого нужно скачать нужную библиотеку и импортировать ее.
Начало работы в Python
Чтобы начать программировать, нужно скачать и установить дистрибутив. Для новичков хорошо подойдёт Anaconda.
Чем он хорош: в нём есть всё, что понадобится в работе.
В Anaconda уже встроены:
- все библиотеки машинного обучения и библиотеки для работы с данными (например, NumPy и Pandas);
- библиотека для визуализации (Matplotlib);
- надстройка Jupyter, чтобы программировать прямо в браузере.
После того как вы установили и открыли Anaconda, у вас появится вот такое окно:
Кнопкой Launch запустим «тетрадку» Jupyter, которая откроет ваш дефолтный браузер. После этого ваше рабочее пространство будет выглядеть так:
Или так:
По функциональности они абсолютно одинаковые.
Важная особенность: комментарии в Python делаются с помощью решетки, вот так:
Комментарии — это часть кода, которая не будет выполняться. Для чего используется комментирование?
Во-первых, чтобы написать небольшое пояснение (например, к какой-то функции).
Во-вторых, можно закомментировать часть кода, чтобы посмотреть, как остальной код работает без этой части.
Выполнение кода. Для этого используется Shift+Enter, Ctrl+Enter или значок «Пуск».
В чём разница?
Если нажать Shift+Enter, то курсор перескочит на следующую ячейку.
Если нажать Ctrl+Enter — останется в той, где вы работали.
Ваше резюме после обучения
Удостоверение и сертификат
Мы проводим обучение на основании государственной лицензии № 040485. По результатам успешного завершения обучения выдаем выпускникам удостоверение о повышении квалификации.
После прохождения каждого курса студенты получают электронный сертификат об окончании курса.
Общество с ограниченной ответственностью «ГикБреинс»
Удостоверение
о повышении квалификации
000001
Регистрационный номер
№1234
Город
Москва
Дата выдачи
22.05.2020
Настоящее удостоверение свидетельствует о том, что
Ричард Хендрикс
прошел(а) повышение квалификации
на образовательном портале GeekBrains
по дополнительной профессиональной программе
Python-разработчик
в объёме 387 академических часов
М.П.
Генеральный директор
Волчек А.И.
Желаемая зарплата 105 000 ₽/мес
Опыт работы менее 1 года
Ключевые навыки
-
Валидная кроссбраузерная и блочная вёрстка сайтов
-
Использование препроцессоров LESS
-
Разработка с использованием Twitter Bootstrap
-
Разработка программ на языке программирования Python как в процедурном, так и в объектно-ориентированном стиле
-
Разработка системных скриптов с применением стандартных и сторонних библиотек (виртуальное окружение virtualenv)
-
Опыт работы с JSON, HTTP
-
Разработка собственного движка сайта
-
Работа с файлами, базой данных MySQL и SQLite
-
Знание основ синтаксиса языка SQL и проектирования базы данных
-
Применение IDE и полезных приемов авто-проверки кода
-
Делегация событиями и управление структурой DOM
-
Знания внутреннего устройства интерпретатора JavaScript
-
Внедрение шаблона проектирования MVC
-
Проектирование логики веб-сайтов, успешная реализация эффективной авторизации и регистрации пользователей
-
Создание быстрых и безопасных веб-сайтов
Какое должно быть образование?
В большинстве случаев резюме на позицию джуниора подают выпускники университетов либо студенты 4-5 курсов технических специальностей. Важны и соответствующие курсы, пройденные как очно, так и онлайн. Это могут быть курсы от Otus, Stepic, Coursera и т. п. В данном случае речь идет о получении дополнительного профильного образования, а образования много не бывает.
Когда цель соискателя — получить работу разработчика Python в сфере Data Science, пригодятся хорошие знания математики, опыт выступления на конференциях, магистерская степень либо аспирантура, а также наличие авторских научно-технических публикаций.
Однако работодатели могут взять на позицию Джуниора не только разработчика программного обеспечения без опыта, но и программиста без высшего образования — такие случаи бывают. Но следует учесть, что для этих кандидатов возможно проведение дополнительных испытаний.
Учебники и сайты
Byte of Python от К. Сварупа подойдет для людей, не имеющих опыта программирования.
Читать Укус питона (на русском).
After Hours Programming Python 3 Tutorial . Этот учебник создан для того, чтобы научить основам языка программирования на Python и объяснить, как создавать веб-приложения
Ask Python Учебник по Python для совсем начинающих.
Classpert — Python — большая коллекция бесплатных и платных онлайн-курсов Python от разных авторов.
Hackr.io — лучшие уроки и курсы Python от сообщества программистов.
Hands-on Python Tutorial — основы Python, графика и простые клиент/серверные взаимодействия (с видеоуроками).
Learning to Program Введение в программирование для тех, кто никогда раньше не программировал, от Алана Голда. В руководстве представлено несколько языков программирования, но особое внимание уделено Python (Python 2 и 3).
Letsfindcourse ` Python: лучшие учебники и курсы по Python, рекомендованные экспертами.
The Wikibooks Non-Programmer’s Tutorial for Python руководство по Python для НЕпрограммистов от Джоша Кольяти.
Изучите Python Вводное руководство для начинающих о Python (с последующим углубленным изучением).
Обучение программированию Алана Голда
Python tips — это блог, который включает в себя советы по Python и учебники для начинающих и профессиональных программистов.
Python Tutorial in Python’s documentation set. Написано не для НЕрограммистов, но дает представление о вкусе и стиле языка.
The Python-Course.eu’s extensive tutorial for complete beginners — учебник для начинающих с большим количеством иллюстраций.
Pythonspot Tutorials учебники по Python для разных уровней.
The Python Guru — руководство для начинающих программистов.
Top Courses to Learn Python—руководства по Python, представленные и оцененные разработчиками Python (с топом лучших).
Плюсы и минусы профессии
К положительным сторонам профессии питон-разработчика относят:
простота кода;
высокая скорость разработки;
возможность обучиться азам профессии самостоятельно;
быстрое обучение;
распространенность в России: есть много профильных сообществ, где можно спросить совета, получить помощь;
востребованность: Python-программисты требуются постоянно, работы много;
хороших специалистов немного: высокая конкуренция есть только на начальном этапе;
«зайти» в программирование можно с одним этим языком;
можно работать как в компании, так и дома.
Есть и отрицательные стороны:
Python менее популярный, чем Java или C/C++, поэтому вакансий для тех, кто владеет только этим языком, заметно меньше, а зарплаты несколько ниже;
чтобы быть востребованным специалистом, нужно знать еще какой-либо популярный язык программирования;
основная масса вакансии по разработке требует территориального нахождения в крупных городах страны;
для работы в крупных компаниях с перспективами карьерного роста требуется опыт работы с любым языком программирования, начинать придется, скорее всего, с небольших проектов.
Django 3 — Full Stack Websites with Python Web Development
If you want to learn how to create back-end with Django and a front-end with only one programming language then Django 3 — Full-stack Websites with Python is the right course that you take. You will learn the following things in this Udemy course
- How to use the Django 3 framework to create the back-end.
- How to publish your website online with Python Anywhere
- How to create 3 stunning websites using Python.
The course shows you how to combine Python with frontend technologies into a complete website using the power of HTML 5, CSS 3, and Bootstrap 4 as a front-end to create a rich interactive user experience.Finally, you’ll create a full functional TODO list manager website where users can create accounts where frontend is coded using standard web technologies and back-end Python code.
Here is the link to join this course — Django 3 — Full Stack Websites with Python Web Development
Интерактивные курсы
- CheckiO — это геймифицированный веб-сайт, содержащий задачи по программированию, которые можно решить на Python 3.
- Python on Codecademy — портал для обучения.
- Code the blocks объединяет программирование на Python с трехмерной средой, в которой вы можете «размещать блоки» и строить структуры. Также вы найдете там учебные пособия, которые постепенно научат Вас создавать сложные 3D-структуры.
- Computer Science Circles содержит 30 уроков, 100 упражнений. На сайте есть встроенный чат, куда ученик может обратиться за помощью к учителю. Общение в чате происходит на голландском, французском, немецком и литовском языках.
- DataCamp Python Tutorial. В отличие от большинства других учебных пособий по Python, этот 4-х часовой учебный курс от DataCamp фокусируется на Python для Data Science. Он содержит 57 интерактивных упражнений и 11 видеоуроков.
- Finxter. Насколько хороши Ваши навыки Python? Более 300 отобранных головоломок на Python для тестов и тренировок.
- How to Think Like a Computer Scientist: Interactive Edition — это интерактивное переосмысление книги Элкнера, Дауни и Майера с визуализацией и звуковыми пояснениями.
Closing Note
Web development has become one of the most popular and in-demand jobs these days and it’s growing dramatically in the upcoming years and after reading this article you may decide to become a web developer, now you are one step close on starting your career. Other Python Programming Articles you may like
- 10 Reasons to Learn Python in 2021
- Top 5 Courses to learn Python in depth
- Python vs Java — Which is better to start with
- 5 Books to learn Python for Data Science
- 15 Free courses to learn Python for Beginners
- 9 Data Science courses from Harvard and IBM
- 10 Testing Libraries Every Java Developer Should Know
- Free Python Tutorials from Google and Microsoft
- 10 Best Python Specialization and Certificates from Coursera
- Top 5 Courses to learn Flask in 2021
- 8 Python Projects for Beginners and Intermediate Developers
- 8 Python Libraries for Machine Learning
- Top 5 Books to learn Python in 2021
- 5 Python Frameworks you can learn for Web development
Thanks for reading this article so far. If you find these Python and Web Development courses useful then please share with your friends and colleagues. If you have any questions or feedback then please drop a note.
P. S. — If you want to learn Python programming but can’t afford these online training courses or looking for a free resource to start with Python programming then I also suggest you take a look at this Introduction to Python Programming course on Udemy.
It’s completely free and more than 490K students have already enrolled in this course from all over the world.
Минусы Python
Одним из недостатков Python называют его интерпретируемость. Это замедляет работу масштабных проектов. Считается, что, если ваш проект рассчитан на плотную нагрузку, вам больше подойдут Go или C++ — у скомпилированных языков процесс обработки происходит быстрее. По этой же причине опытные разработчики не советуют обрабатывать видео на Python.
«Я бы не советовал делать на Python сложный рендеринг видео — например, как на YouTube. Python всё равно проиграет в скорости».
Но у интерпретируемости есть и преимущество — писать программы на Python гораздо быстрее, а объём кода обычно в 3−5 раз меньше аналогичных листингов Java и в 5−10 раз меньше эквивалентного кода на C++.
Зачастую Python-код в 1000 раз медленнее аналогичного кода на C/C++. Он не подходит для ПО, которое работает в режиме реального времени и требует минимальных задержек. Тем не менее Python уже неоднократно оптимизировали, и в большинстве сфер он работает достаточно шустро.
Так что всякий раз, когда вы пишете на Python задачу вроде обработки файла или конструирования графического пользовательского интерфейса, программа будет выполняться со скоростью языка С, потому что тут же привязывается к скомпилированному коду на С внутри интерпретатора Python. В итоге выигрыш в скорости разработки на Python чаще всего оказывается выгоднее, чем любые потери в скорости исполнения, особенно учитывая производительность современных компьютеров.
Ещё один минус и плюс одновременно — динамическая типизация. Она также существенно упрощает и ускоряет процесс кодинга, но увеличивает количество возможных ошибок, особенно у неопытного разработчика. Для масштабных проектов всё-таки больше подойдёт статическая типизация.
Python имеет низкий порог вхождения, простой и понятный синтаксис, лаконичный код. Но простоту для входа новичков эксперты называют и минусом — по их словам, на Python легко написать плохой код.