Россия и Беларусь начали и продолжают войну против народа Украины!

Что такое Python? Введение в язык Python

  Акод  | 

  Обновл. 17 Май 2023  | 

 558

Python — это интерпретируемый, интерактивный, объектно-ориентированный и высокоуровневый язык программирования общего назначения c динамической строгой типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода, а также на обеспечение переносимости написанных на нем программ. Задумка по реализации языка появилась в конце 1980-х годов, а разработка его реализации началась в 1989 году сотрудником голландского института CWI Гвидо ван Россумом.

История Python

Язык Python был создан сотрудником голландского института CWI Гвидо ван Россумом в 1991 году. Некоторые концепции для Python были взяты от языка программирования ABC (Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию). Часто упоминается, что ABC является предшественником языка Python.

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

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

Версии Python


Даты выпуска основных и промежуточных версий:

   Python 1.0 — январь 1994 года

   Python 1.5 — 31 декабря 1997 года

   Python 1.6 — 5 сентября 2000 года

   Python 2.0 — 16 октября 2000 года

   Python 2.1 — 17 апреля 2001 года

   Python 2.2 — 21 декабря 2001 года

   Python 2.3 — 29 июля 2003 года

   Python 2.4 — 30 ноября 2004 года

   Python 2.5 — 19 сентября 2006 года

   Python 2.6 — 1 октября 2008 года

   Python 2.7 — 3 июля 2010 года

   Python 3.0 — 3 декабря 2008 года

   Python 3.1 — 27 июня 2009 года

   Python 3.2 — 20 февраля 2011 года

   Python 3.3 — 29 сентября 2012 года

   Python 3.4 — 16 марта 2014 года

   Python 3.5 — 13 сентября 2015 года

   Python 3.6 — 23 декабря 2016 года

   Python 3.7 — 27 июня 2018 года

   Python 3.8 — 14 октября 2019 года

   Python 3.9 — 5 октября 2020 года

   Python 3.10 — 4 октября 2021 года

   Python 3.11 — 24 октября 2022 года

Python 2 против Python 3

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

Python 2 Python 3
Год выпуска Python 2 был выпущен в 2000 году. Python 3 был выпущен в 2008 году.
Ключевое слово print print является оператором. print является функцией.
Хранение строк Строки по умолчанию хранятся в формате ASCII. Строки по умолчанию хранятся в формате Unicode.
Деление целых чисел При делении двух целых чисел мы получаем целочисленное значение. Например, 7/2 даст результат 3. При делении двух целых чисел мы получаем значение типа с плавающей точкой. Например, 7/2 даст результат 3.5.
Исключения Исключения заключены в нотации. Исключения заключаются в круглые скобки.
Изменение переменных Значения глобальных переменных меняются, если они используются внутри цикла for. Значения глобальных переменных никогда не меняются.
Итерация Функция xrange() используется для выполнения итераций. Введена новая функция range() для выполнения итераций.
Простота синтаксиса Имеет более сложный синтаксис, чем Python 3. Имеет более простой синтаксис по сравнению с Python 2.
Библиотеки Многие библиотеки Python 2 не совместимы со стандартом Python 3. Создано множество библиотек, предназначенных исключительно для использования в Python 3.
Использование Python 2 не поддерживается с 2020 года. Python 3 более популярен, чем Python 2, и используется до сих пор.
Обратная совместимость Код версии Python 2 можно портировать на Python 3, но это непросто. Python 3 не имеет обратной совместимости с Python 2.

Преимущества Python

   Открытый исходный код и бесплатное использование. Все релизы Python доступны бесплатно. Python можно даже модифицировать и распространять бесплатно. Это значительно снижает затраты на разработку.

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

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

   Легко поддерживать. Исходный код Python довольно прост в обслуживании.

   Большая стандартная библиотека. Большая часть библиотеки Python портируемая и кроссплатформенна, совместима с Unix, Windows и macOS.

   Интерактивный режим. Python поддерживает интерактивный режим, который позволяет интерактивно тестировать и отлаживать фрагменты кода.

   Портируемость. Python может работать на самых разных аппаратных платформах и имеет одинаковый интерфейс на всех платформах.

   Расширяемость. Вы можете добавлять низкоуровневые модули в интерпретатор Python. Эти модули позволяют программистам добавлять или настраивать свои инструменты для повышения эффективности.

   GUI-программирование. Python поддерживает приложения с графическим интерфейсом, которые можно создавать и переносить во многие системные вызовы, библиотеки и оконные системы, такие как Windows MFC, Macintosh и X Window System в Unix.

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

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

   Автоматическое выделение памяти. Python не имеет указателей, и разработчикам не нужно выделять свободное место в памяти. Python автоматически выделяет память, а сборщик мусора «перерабатывает» память из отброшенных объектов. Это означает, что разработчикам не нужно беспокоиться об утечках памяти, некорректных ссылках и указателей или размере каждого объекта.

   Доступность сторонних библиотек. В дополнение к обширной встроенной (стандартной) библиотеке Python разработчики имеют доступ ко многим бесплатным внешним библиотекам. Эти сторонние библиотеки легко импортировать и устанавливать с помощью репозитория PyPI (сокр. от «Python Package Index»). Также разработчики могут публиковать свои собственные пакеты.

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

Недостатки Python


   Не очень быстр. Python медленнее, чем языки C и Java. Python интерпретируемый язык с динамической типизацией, поэтому он должен постоянно проверять тип каждой переменной. Это означает, что Python — не лучший выбор для случаев, где критически важна скорость.

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

   Сложнее избежать ошибок времени выполнения (runtime errors). Python не компилируется до времени выполнения и имеет динамическую типизацию. Поэтому многие проблемы, которые в противном случае были бы обнаружены компилятором, не появляются до тех пор, пока программа не запустится. Это может включать что-то простое, например, синтаксическую ошибку, но может включать и такие проблемы, как попытка выполнить операцию сложения целого числа со строкой.

   Взаимодействие с базами данных. Работать с базами данных в Python сложнее, чем в некоторых других приложениях. Python не имеет такого мощного и простого в использовании интерфейса, как Java Database Connectivity (JDBC). Его все еще можно использовать, если операции чтения и записи в базы данных относительно просты. Но это не лучший выбор для приложений, которые имеют сложные взаимодействия с большой корпоративной базой данных.

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

Альтернативы Python

   C/C++: эти два языка являются хорошим выбором, когда важны скорость, производительность и низкое потребление памяти. Они статически типизированы и требуют предварительной компиляции, поэтому генерируют меньше ошибок во время выполнения. Они часто используются для разработки игр и десктопных приложений. Но, к сожалению, они считаются сложными языками для новичков (по сравнению с Python).

   JavaScript: Как и Python, JavaScript является интерпретируемым и динамически типизируемым языком. JavaScript имеет наибольшее применение в веб-разработке, поскольку работает на стороне клиента и беспрепятственно взаимодействует с компонентами HTML и CSS. Его можно использовать вместе с Node.js для полного цикла веб-разработки. Python обычно не используется во фронтенде, поэтому он не является хорошей full stack альтернативой.

   R: R — это альтернатива Python в Data Science. Однако он больше ориентирован на статистический анализ. R особенно хорош для визуализации данных, но он сложнее и труднее в освоении. Python — это более простой и быстрый вариант для данных общего назначения и численных методов, а также предлагает лучшие возможности в сфере машинного обучения.

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


   Data Science.

   Date Mining.

   Разработка десктопных приложений.

   Разработка консольных приложений.

   Разработка мобильных приложений.

   Разработка корпоративных приложений.

   Разработка веб-приложений.

   Разработка ПО.

   Искусственный интеллект (AI).

   Машинное обучение (ML).

   Приложения для обработки изображений.

   Распознавание речи.

Популярные фреймворки и библиотеки Python

   Веб-разработка (Backend) — Django, Flask, Pyramid, CherryPy.

   Разработка приложений с графическим интерфейсом — Tk, PyGTK, PyQt, PyJs и др.

   Машинное обучение — TensorFlow, PyTorch, Scikit-learn, Matplotlib, Scipy и др.

   Анализ данных — Numpy, Pandas и др.

Вакансии, связанные с Python

   Разработчик игр.

   Веб-дизайнер.

   Python-программист.

   Full-stack разработчик.

   Machine Learning Engineer.

   Специалист в Data Science.

   Аналитик данных.

   DevOps инженер.

   Разработка ПО и др.

Примеры Python-кода

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

Python против Java

В отличие от других языков программирования, Python предоставляет возможность выполнять операции с наименьшим количеством строк кода. Например, для выполнения первой программы всех новичков — «Hello, world!» — на языке Java потребуется 3 строки, тогда как в Python — всего 1 строка.

Программа «Hello, world!» на Java:

Программа «Hello, world!» на Python:

Результат выполнения обеих программ:

Hello, world!

Функция print() в Python

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

Синтаксис функции print():

Рассмотрим детально:

   objects — объекты для вывода. Символ * означает, что может быть несколько объектов;

   sep — разделитель значений для вывода. По умолчанию используется пробел ' ';

   end — выводится последним в стейтменте;

   file — указываем куда выводить объект;

   flush — поток или файл принудительно очищается, если значение параметра равно True. По умолчанию установлено значение False.

Пример Python-программы с использованием функции print():

Результат:

Welcome to Ravesli!
a = 15
a = 15 = b

Сразу несколько объектов можно вывести с помощью функции print(). Для этого используется запятая (,).

Получение пользовательского ввода в Python

Python предоставляет функцию input() для получения пользовательского ввода. Например:

Результат:

Enter a name of student: Anton
The student name is: Anton

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

Например, для получения числа от пользователя, мы можем использовать:

Результат:

Enter first number: 20
Enter second number: 30
50

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (2 оценок, среднее: 5,00 из 5)
Загрузка...

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

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