Найти в Дзене
Python, Linux, Bash

Введение в Python

Оглавление

Кто, что и почему в Python

Опрос, проведённый на популярном форуме StackOverflow, показал, что из 44 000 опрошенных программистов 44,1% используют Python в своей повседневной деятельности. Также можно увидеть, что за 6 лет количество вопросов о Python на форуме StackOverflow увеличилось в геометрической прогрессии, что часто является показателем того, сколько людей изучают этот язык.

1. Python ориентирован на объекты

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

2. Python - это интерпретируемый язык.

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

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

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

3. Python имеет динамическую типизацию.

Это означает, что объекты хранятся в памяти во время выполнения вашего кода, и нет необходимости объявлять, какие типы данных вы используете перед запуском своих программ, в отличие от других языков. Отчасти поэтому программы на C ++ и Java намного больше, чем на Python. Однако это также означает, что сообщения об ошибках не появляются до тех пор, пока вы не начнете запускать свою программу. Это может привести к некоторым проблемам, если вы не будете осторожны со своим кодом!

Что можно делать с Python?

  1. Автоматизация задачи, т.е. переименование файлов, обновление электронных таблиц (встроенные модули)
  2. Веб-разработка ( Flask , django )
  3. Наука о данных и программирование баз данных ( Pandas )
  4. Машинное обучение ( TensorFlow , Keras , Scikit )
  5. Сетевое программирование
  6. Робототехника и аппаратное программирование (Arduino)
  7. Финансы
  8. Численное и научное программирование ( Numpy , SciPy )

Вы можете спросить, как все это может делать ?! Что ж, у Python очень богатая система поддержки. Есть много программистов, которые помогли разработать модули, которые можно использовать с python для выполнения самых разных типов работы, от робототехники, биоинформатики до искусственного интеллекта.

Слабости Python

1. Мобильная разработка

Двумя популярными фреймворками являются Kivy и Beeware , но в настоящее время они все еще не оптимизированы для интенсивного использования пользователями. Python потребляет много памяти, и приложения, использующие Python, в настоящее время разряжают батарею намного быстрее, чем, скажем, мобильные приложения, разработанные на Java.

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

2. Python медленный

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

К сожалению, Python одновременно выполняет только одну операцию, это называется глобальной блокировкой интерпретатора (GIL). В большинстве современных приложений одновременно выполняется несколько процессов, а это означает, что python может быть сложно масштабировать по размеру приложения. Концепция глобальной блокировки интерпретатора подробно рассматривается в Python, и вам не нужно знать подробности, кроме как знать, что она существует.

3. Потребление памяти

Все программы должны управлять памятью, мы сохраняем код для работы с ней во время выполнения программы. Теперь, поскольку все в python является объектом, на самом деле это может быть довольно затратно для запуска программ. Каждый отдельный объект потребляет память. Это может не иметь значения, если ваши сценарии небольшие, а программа не критична, однако, если ваш проект амбициозен и становится больше, это может вызвать реальные проблемы в будущем. Это необходимо учитывать, когда ваше приложение начинает использоваться многими пользователями, и требования приложения становятся намного выше.

3. Работа с ошибками

Мы упоминали, что python динамически типизируется, а это означает, что ошибки возникают только при запуске программы. Это по сравнению с скомпилированной программой, которая всегда будет работать после правильной компиляции. Такая динамическая типизация означает, что необходимость снова и снова вносить небольшие изменения может раздражать, если вы не будете осторожны! Помните об этом, когда впервые начнете свое путешествие по Python.

Резюме

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

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

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