Содержание

Что такое Python и для чего нужен этот язык

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

Для чего нужен язык программирования Python

Python — это активно развивающийся скриптовый язык, который используют для решения большого объема самых разноплановых проблем и задач. Python пригодится в создании компьютерных и мобильных приложений, его применяют в работе с большим объемом информации, при разработке web-сайтов и других разнообразных проектов, используют в машинном обучении. Данный язык программирования используют крупные известные корпорации, такие как Spotify и Амазон (например, для анализа данных и создания алгоритма рекомендаций), YouTube, Инстаграм и даже Walt Disney. Таким образом, Python нашел свое место в различных областях — с его помощью можно решить множество задач разной сложности.

История создания

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

Хотя логотип Python все равно основан на изображении семейства пресмыкающихся.

Возможности языка

Как мы писали ранее, Python применяют в различных сферах. Разработчики со всего мира полюбили этот язык программирования за множество возможностей.

  1. Объектно-ориентированное программирование (ООП). Реализация ООП в Пайтон хоть и специфична по сравнению с иными объектно-ориентированными языками, но одновременно является неплохо продуманной.
  2. Обобщенное и функциональное программирование.
  3. Модули и пакеты. Программное обеспечение (ПО) на Питоне оформляется в виде модулей, которые могут быть собраны в пакеты.
  4. Интроспекция. Это возможность запросить тип и структуру объекта во время выполнения программы. В Питоне для любого объекта можно узнать всю информацию о его внутренней структуре.
  5. Обработка исключений, итераторы и генераторы.
  6. Управление контекстом выполнения.
  7. Декораторы, регулярные выражения

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

  1. Язык характеризуется логичным синтаксисом, вследствие чего исходный код программ, написанных «на питоне», легко читается и воспринимается.
  2. Еще одно из преимуществ данного языка программирования — его условная легкость. Он считается наиболее подходящим для начинающих специалистов: разрабатывать несложные программы можно научиться уже спустя пару-тройку дней изучения.
  3. Большое интернет-сообщество. Если разработчик сталкивается с вопросами и трудностями, он всегда может спросить совета у коллег, что значительно ускоряет решение проблем.
  4. Гибкость и масштабируемость. Пайтон позволяет разработчикам адаптировать высокоуровневую логику приложения, что позволяет легко расширять сложные приложения по мере необходимости.
  5. Разработка «на питоне» идет быстрее, чем на большинстве других языках.
  6. Python является интерпретируемым языком программирования. Это значит, что до запуска он представляет собой обычный текстовый файл. Соответственно, программировать можно почти на всех платформах.

Недостатки Python

  1. Скорость работы. Высокопроизводительные проекты на чистом Пайтон написать будет затруднительно. Для этого требуется прибегать к помощи других языков.
  2. Безопасность, которая обеспечивается моделью памяти языка Python, сводит на нет большинство возможных процессорных оптимизаций.

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

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

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

  • Программные приложения. С помощью данного языка программирования можно разрабатывать приложения на компьютер.
  • Мобильные приложения. Мобильная разработка «на питоне» пользуется спросом во всем мире — для программирования серверной части таких приложений зачастую выбирают Python.
  • Игры. Множество компьютерных игр целиком или отчасти разработано на Пайтон. Например, он использовался при создании популярной игры World of Tanks.
  • Встроенные системы. На Питоне можно создавать встроенные системы для разных устройств. Например, для управления банкоматами.
  • Скрипты. На Python можно написать плагины и скрипты к уже реализованным программам для создания новых модулей и автоматизации процессов.
  • Машинное обучение (Machine Learning). С его помощью пишут алгоритмы для Machine Learning программ, а также многие аналитические приложения.
  • Тестирование. Python активно применяется для автоматизации тестирования.

Изучение Python: с чего начать

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

Во-вторых, пройдите курсы. Начните с бесплатных видеоуроков на YouTube. Множество специалистов безвозмездно делятся знаниями и простыми уроками. Для глубокого изучения языка можете приобрести и платные курсы, которые длятся несколько месяцев, а в конце вам будет доступна стажировка в реальной компании.

В-третьих, больше практикуйтесь. Начните писать простые программы. Теория и практика — это совершенно разные вещи в программировании.

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

Автор: Макхост

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

Знакомство с Python. Курс «Python. Введение в программирование»

Краткая историческая справка

Язык программирования Python был создан к 1991 году голландцем Гвидо ван Россумом.

Свое имя – Пайтон (или Питон) – получил от названия телесериала, а не пресмыкающегося.

После того, как Россум разработал язык, он выложил его в Интернет, где сообщество программистов присоединилось к его улучшению.

Python активно развивается в настоящее время. Часто выходят новые версии. Существуют две поддерживаемые ветки: Python 2.x и Python 3.x. Здесь английской буквой «x» обозначается конкретный релиз. Между вторым и третьим Питоном есть небольшая разница. В данном курсе за основу берется Python 3.x.

Официальный сайт поддержки языка – https://www.python.org.

Основные особенности языка

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

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

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

Интерпретаторы Python распространяется свободно на основании лицензии подобной GNU General Public License.

Дзен Питона

Если интерпретатору Питона дать команду import this («импортируй это» здесь видимо следует понимать как «импортируй самого себя»), то выведется так называемый «Дзен Питона», иллюстрирующий идеологию и особенности данного языка. Понимание смысла этих постулатов в приложении к программированию придет тогда, когда вы освоите язык в полной мере и приобретете опыт практического программирования.

  • Beautiful is better than ugly. Красивое лучше уродливого.
  • Explicit is better than implicit. Явное лучше неявного.
  • Simple is better than complex. Простое лучше сложного.
  • Complex is better than complicated. Сложное лучше усложнённого.
  • Flat is better than nested. Плоское лучше вложенного.
  • Sparse is better than dense. Разрежённое лучше плотного.
  • Readability counts. Удобочитаемость важна.
  • Special cases aren’t special enough to break the rules. Частные случаи не настолько существенны, чтобы нарушать правила.
  • Although practicality beats purity. Однако практичность важнее чистоты.
  • Errors should never pass silently. Ошибки никогда не должны замалчиваться.
  • Unless explicitly silenced. За исключением замалчивания, которое задано явно.
  • In the face of ambiguity, refuse the temptation to guess. Перед лицом неоднозначности сопротивляйтесь искушению угадать.
  • There should be one — and preferably only one — obvious way to do it. Должен существовать один — и, желательно, только один — очевидный способ сделать это.
  • Although that way may not be obvious at first unless you’re Dutch. Хотя он может быть с первого взгляда не очевиден, если ты не голландец.
  • Now is better than never. Сейчас лучше, чем никогда.
  • Although never is often better than *right* now. Однако, никогда чаще лучше, чем прямо сейчас.
  • If the implementation is hard to explain, it’s a bad idea. Если реализацию сложно объяснить — это плохая идея.
  • If the implementation is easy to explain, it may be a good idea. Если реализацию легко объяснить — это может быть хорошая идея.
  • Namespaces are one honking great idea — let’s do more of those! Пространства имён — прекрасная идея, давайте делать их больше!

Как писать программы на Python

Интерактивный режим

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

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

В операционных системах на базе ядра Linux можно программировать на Python в интерактивном режиме с помощью приложения «Терминал», в котором работает командная оболочка Bash. Здесь, чтобы запустить интерпретатор, надо выполнить команду python.

Скорее всего запустится интерпретатор второй ветки Питона, что можно увидеть в первой информационной строке. В данном случае запустилась версия 2.7.12. Первое число «2» указывает на то, что это интерпретатор для языка программирования Python 2. Последняя строка с тремя угловыми скобками (>>>) – это приглашение для ввода команд. Поскольку в данном курсе будет использоваться язык Python 3, выйдем из интерпретатора с помощью команды exit() (exit – выход). После чего выполним в терминале команду python3.

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

Для операционных систем семейства Windows надо скачать интерпретатор с официального сайта языка (https://www.python.org/downloads/windows/). После установки он будет запускаться по ярлыку. Использовать командную оболочку здесь не требуется.

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

Бывает, что в процессе ввода была допущена ошибка или требуется повторить ранее используемую команду. Чтобы заново не вводить строку, в консоли можно прокручивать историю команд, используя для этого стрелки вверх и вниз на клавиатуре. В среде IDLE (в Windows) для этого используются сочетания клавиш (скорее всего Alt+N и Alt+P).

Создание скриптов

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

Существует целый ряд сред разработки для Python, например, PyCharm. Однако на первое время подойдет текстовый редактор с подсветкой синтаксиса, например, Geany.

Здесь создается и сохраняется файл с кодом. Далее его можно запустить на выполнение через терминал. При этом сначала указывается интерпретатор (в данном случае python3), потом имя файла (если файл находится в другом каталоге, то указывается с адресом, или надо перейти в этот каталог с помощью команды cd оболочки Bash).

Однако в Geany можно дополнительно установить встроенный терминал (sudo apt-get install libvte9), что упростит работу.

Наконец, в редакторе можно просто нажать F5, что отправит файл на исполнение (терминал откроется сам, после выполнения программы и нажатия Enter закроется).

В Windows подготовить файлы можно в той же среде IDLE. Для этого в меню следует выбрать команду File → New Window (Crtl + N), откроется чистое (без приглашения >>>) новое окно. Желательно сразу сохранить файл с расширением . py, чтобы появилась подсветка синтаксиса. После того как код будет подготовлен, снова сохраните файл. Запуск скрипта выполняется командой Run → Run Module (F5). После этого в окне интерактивного режима появится результат выполнения кода.

Практическая работа

  1. Запустите интерпретатор Питона в интерактивном режиме. Выполните несколько команд, например, арифметические примеры.

  2. Подготовьте файл с кодом и передайте его на исполнение интерпретатору. Обратите внимание, что если просто записать арифметику, то никакого вывода не последует. Вы увидите пустоту. Это отличается от интерактивного режима. Чтобы увидеть решение, надо «обернуть» пример в функцию print().

Примеры решения и дополнительные уроки в android-приложении и pdf-версии курса

Язык программирования Python

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

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

Python поддерживает несколько парадигм программирования: структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. В языке присутствет динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Программный код на Python организовывается в функции и классы, которые могут объединяться в модули, а они в свою очередь могут быть объединены в пакеты. Python обычно используется как интерпретируемый, но может быть скомпилирован в байт-код Java и в MSIL (в рамках платфоры .NET).

Разработчики языка Python придерживаются определённой философии программирования, называемой «The Zen of Python» («Дзен Питона» или «Дзен Пайтона»):

  • Красивое лучше, чем уродливое.
  • Явное лучше, чем неявное.
  • Простое лучше, чем сложное.
  • Сложное лучше, чем запутанное.
  • Плоское лучше, чем вложенное.
  • Разреженное лучше, чем плотное.
  • Читаемость имеет значение.
  • Особые случаи не настолько особые, чтобы нарушать правила.
  • При этом практичность важнее безупречности.
  • Ошибки никогда не должны замалчиваться.
  • Если не замалчиваются явно.
  • Встретив двусмысленность, отбрось искушение угадать.
  • Должен существовать один — и, желательно, только один — очевидный способ сделать это.
  • Хотя он поначалу может быть и не очевиден, если вы не голландец.
  • Сейчас лучше, чем никогда.
  • Хотя никогда зачастую лучше, чем прямо сейчас.
  • Если реализацию сложно объяснить — идея плоха.
  • Если реализацию легко объяснить — идея, возможно, хороша.
  • Пространства имён — отличная штука! Будем делать их побольше!

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

По сравнению с Ruby и некоторыми другими языками, в Python отсутствует возможность модифицировать встроенные классы, такие, как int, str, float, list и другие.

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

Существует несколько реализаций языка — CPython (основная), Jython, PyS60, IronPython, Stackless, Python for .NET, PyPy, python-safethread, Unladen Swallow, tinypy.

Разработка на Python

Python — очень универсальный язык.

Он подходит и для веб-разработки, но с прикладной точки зрения обычно это не лучший выбор.

  • Ruby в веб-разработке обычно эффективнее и экономически выгоднее (с идентичным качеством результата).
  • Компилируемые языки (Go / Elixir / Java) — значительно эффективнее по производительности.
  • Разработка проекта на PHP будет заметно дешевле.

Но в сферах анализа данных и машинного обучения Python сейчас несомненно вне конкуренции.

Python впервые в истории стал популярнее Java

, Текст: Эльяс Касми

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

Один из самых востребованных языков

Язык программирования Python сумел обогнать по популярности Java и впервые за свою историю занять второе место в рейтинге TIOBE. Сам рейтинг существует с 2003 г.

В рейтинге TIOBE за ноябрь 2019 г. Java был на первом месте, а Python довольствовался третьим. Популярность Java за год упала на 4,57%, а спрос на Python возрос на 2,27%. Но пока эти языки «спорили» за «серебро», победу в актуальном рейтинге TIOBE одержал язык C.

Как пишет портал ZDnet, всплеск популярности Python может быть связан с наращиванием темпов развития тех областей, где он применяется чаще всего. В качестве примеры были приведены data mining, численные вычисления и машинное обучение. Генеральный директор TIOBE Пол Янсен (Paul Jansen) полагает, что интерес к Python основан еще и на том, что если раньше программированием занимались, в основном, инженеры, то теперь этот навык «требуется почти повсюду, а хороших разработчиков ПО не хватает». «Недавний всплеск популярности Python вызван тем, что он достаточно прост для использования непрограммистами, а не является языком только для продвинутых программистов», – отметил Пол Янсен.

До первого места осталось совсем немного

«Не так давно на моей машине спустило колесо, и мне пришлось вызвать дорожный патруль. Приехавший специалист спросил меня о роде моей деятельности, и когда я рассказал про программирование, он сообщил, что увлекается программированием на Python. Тогда я понял, что Python будет использоваться повсеместно», – добавил глава TIOBE.

Составители TIOBE уверены, что популярность Python продолжит расти. CNews писал, что еще в июне 2019 г. они опубликовали прогноз, согласно которому в ближайшие три-четыре года Python займет первую строчку в их рейтинге. На тот момент он находился на третьей позиции, уступая все тем же Java и С.

Особенности рейтинга

TIOBE отслеживает популярность языков программирования путем подсчета результатов поисковых запросов, связанных с программированием. Например, он отслеживает наличие в нем сочетания слов programming и language.

В рейтинге учитываются 50 языков программирования

Рейтинг составляется ежемесячной, данные берутся с самых популярных, по рейтингу Alexa, веб-сайтов. Среди них есть поисковики Google и Bing, а также порталы YouTube, Blogger, Amazon и стриминговый сервис YouTube. В то же время рейтинг не проводит сравнение языков по количеству написанного на нем кода.

Ежегодно TIOBE присваивает звание «Язык года». С 2003 г. Python трижды побеждал в этой номинации – в 2007, 2010 и 2018 гг., однако в 2019 г. он уступил его С, равно как в 2017 и 2008 г. Для сравнения, Java удерживал этот титул лишь дважды – в 2005 и 2015 гг.

Немного о Python

Язык Python зародился в конце 80-х годов XX века. Его создатель – нидерландский разработчик Гвидо ван Россум (Guido van Rossum), и он задумывал его как потомка языка ABC.

Гвидо ван Россум

Первая публикация кода Python состоялась в феврале 1991 г. , на тот момент язык имел версию 0.9.0. Путь до версии 1.0 оказался довольно длинным – она была опубликована лишь в январе 1994 г. До 2.0 язык обновился в октябре 2000 г., до 3.0 – в декабре 2008 г. На момент публикации материала самая актуальная стабильная версия Python носила индекс 3.9.0 – ее выпуск состоялся 5 октября 2020 г.

Динамика изменения популярности языков программирования

В июле 2018 г., как сообщал CNews, Гвидо ван Россум, спустя почти 20 лет с момента первого релиза Python, сложил с себя полномочия главы проекта. О своем уходе Гвидо сообщил сам в письме на сайте Python.

Так менялась популярность Python

Свое решение он объяснил тем, что ему надоело сталкиваться с трудностями в процессе утверждения предложений по улучшению Python (Python Enhancement Proposal, PEP). «Теперь, когда PEP 572 готовы, я больше никогда не хочу так тяжело бороться за PEP и обнаруживать потом, что так много людей презирают мои решения», – сказал он, добавив также, что ему довольно много лет (на момент ухода ему было 62 года), и что он испытывает определенные проблемы со здоровьем.

Самый популярный язык в мире

Если в рейтинге TIOBE на ноябрь 2020 г. Python занимал лишь вторую строчку, то, по версии сотрудников Института инженеров электротехники и электроники (Institute of Electrical and Electronics Engineers, IEEE), равных ему нет. В июле 2020 г. они опубликовали собственный рейтинг популярности языков программирования, где первая тройка состоит из тех же участников, что и в перечне TIOBE, вот только расположены они совершенно иначе.

Как Kia применяет искусственный интеллект

Искусственный интеллект

Рейтинг популярности языков программирования

Место в рейтинге Название языка Количество баллов
1 Python 100,0
2 Java 95,3
3 C 94,6
4 C++ 87,0
5 JavaScript 79,5
6 R 78,6
7 Arduino 73,2
8 Go 73,1
9 Swift 70,5
10 Matlab 68,4

В рейтинге IEEE Python удерживает первое место, а Java находится на втором. Языку С приходится довольствоваться «бронзой».

Все может измениться

В июле 2020 г. Python проявил себя и в рейтинге языков RedMonk, оказавшись в нем на втором месте после JavaScript. Составитель рейтинга Стивен О’Грейди (Stephen O’Grady) не согласен с мнением Пола Янсена из TIOBE о том, что популярность Python будет расти и дальше.

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



Все о языке программирования Python: новости развития

Дайвинг в Python: история одного опыта

Рассказ о самостоятельном изучении Python с нуля.

Советы Python-новичкам от синьора

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

Взаимодействие Python и FugueSQL в Jupyter Notebooks

FugueSQL — это язык который расширяет возможности SQL. Рассказываем, как пользоваться FugueSQL в связке с Python и Jupyter Notebooks.

Кейс: Хабиб vs МакГрегор или Распознавание лиц на Python

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

Python-библиотеки, которые пригодятся каждому разработчику на Python

Узнаём у экспертов-питонистов, какие Python-библиотеки они используют и могут посоветовать другим разработчикам.

Топ-10 Python библиотек для Data Science

Рассказываем, на какие популярные Python библиотеки для Data Science стоит обратить внимание начинающему дата-сайентисту.

Небольшая подборка инструментов стека Python

Шорт-лист инструментов стека Python от технического директора, которые применяются его командой на практике

Десктопное приложение на Python: UI и сигналы

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

Увеличиваем скорость работы Python до уровня C++ с Numba

Повышаем скорость работы Python с использованием библиотеки Numba и сравниваем с «плюсами» на примере простенького алгоритма.

Создайте свой первый UI-тест за 20 минут

Пошаговая инструкция по созданию UI-теста с помощью Python и Selenium.

Проекты на Django для начинающих: двухчасовой видеокурс

Сделайте эти проекты на Django, чтобы познакомиться с самым популярным фреймворком для создания веб-приложений на языке Python.

Задача на собеседовании: провести прямую через набор точек

Ищем наиболее вероятные положения автономного автомобиля, который едет прямо по дороге и отслеживается по GPS.

Где общаются разработчики: русскоязычные чаты программистов

Сделали подборку чатов программистов в Slack, Telegram и Gitter.

Регулярные выражения в Python: теория и практика

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

Базовые знания Data Science: что и где нужно изучить новичку

Область Data Science сейчас популярна и есть везде. Разбираемся, что нужно знать для минимального входа в эту сферу.

Data Science для начинающих: 12 проектов на Python за 3 часа

Если только начинаете путь в Data Science, попробуйте сделать эти проекты для начинающих. Они научат вас собирать и визуализировать данные.

Веб-скрейпинг на Python: запускаем парсинг сайтов за 1 час

Парсинг решает кучу практических задач — например, можно отслеживать скидки и сравнивать цены. Простое решение на Python.

Сравнение скорости Python и C++

Автор этой статьи делает сравнение скорости выполнения одной и той же программы на Python и C++. С++ естественно быстрее, но насколько?

Боты для Discord на Python: проект для начинающих

Не нужно ничего устанавливать и платить за размещение. Такие боты для Discord без проблем могут работать в бесплатном «облаке».

Баттл языков программирования 2020 завершился!

Вчера прошел финал баттла языков программирования 2020. И теперь, спустя неделю неожиданных и не очень побед и поражений, мы можем объявить победителей! Python — cамый любимый язык наших читателей. Он…

Финал баттла языков программирования 2020 уже сегодня!

По результатам вчерашнего полуфинала образовались две пары финалистов. За первое и второе место поборются: Python и JavaScript. А за третье и четвёртое: Swift и C++. Голосуйте за любимый язык и…

Полуфинал битвы языков программирования 2020

Победителями вчерашней схватки стали JavaScript и Python. В полуфинале участвуют: Swift/JavaScript и C++/Python. Напоминаем, выбирайте тот язык, который вы больше любите.  Ещё чуть-чуть и мы узнаем, кто будет победителем. Голосование…

Шестой раунд битвы языков программирования 2020 начался!

Вчерашний батл был напряжённым: Swift и Assebmler шли ноздря в ноздрю, но в итоге Swift немного обогнал оппонента. Отрыв между C++ и Java существенно больше, С++ победил! Сегодня участвуют следующие…

Pip: как устанавливать пакеты в Python

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

Sherlock — скрипт, который помогает найти профили в соцсетях по имени пользователя

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

Всё о сортировке в Python: исчерпывающий гайд

Сортировка в Python выполняется с помощью sorted() и list. sort(). Разбираем на примерах, как это работает.

Третий раунд битвы языков программирования 2020!

По итогам вчерашнего раунда С++ буквально уничтожил Cobol, а Assembler оказался почти в два раза популярнее чем Pascal. Результаты смотрите здесь. Сегодня у нас новые соперники: SQL/TypeScript и Python/Ruby. Вы…

12 проектов на Python для новичков: трёхчасовой видеокурс

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

Примите участие в баттле языков программирования 2020. Старт уже завтра!

В то время как Java и язык Си меняются местами на вершине рейтинга TIOBE, мы решили выяснить, какие языки программирования, наши подписчики любят больше всего. Завтра начинается баттл языков программирования…

Работа со строками в Python. Готовимся к собеседованию: примеры задач

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

Python — Энциклопедия языков программирования

Интерпретируемый объектно-ориентированный язык программирования высокого уровня с динамической типизацией, автоматическим управлением памятью и удобными высокоуровневыми структурами данных, такими как словари (хэш-таблицы), списки, кортежи. Поддерживает классы, модули (которые могут быть объединены в пакеты), обработку исключений, а также многопоточные вычисления. Питон обладает простым и выразительным синтаксисом. Язык поддерживает несколько парадигм программирования: структурное, объектно-ориентированное, функциональное и аспектно-ориентированное.

Философия языка:

  • Красивое лучше уродливого.
  • Явное лучше неявного.
  • Простое лучше сложного.
  • Сложное лучше усложнённого.
  • Последовательное лучше вложенного.
  • Разрежённое лучше, чем плотное.
  • Удобочитаемость существенна.
  • Частные случаи не настолько существенны, чтобы нарушать правила.
  • Однако практичность важнее регулярности.
  • Ошибки никогда не должны умалчиваться.
  • Если явно не указано — умалчивать.
  • В случае неоднозначности сопротивляйтесь искушению угадать.
  • Должен существовать один — и, желательно, только один — очевидный способ.
  • Хотя он может быть с первого взгляда неочевиден, если ты не голландец (намёк на Гвидо ван Россума)
  • Сейчас — лучше, чем никогда.
  • Но никогда — часто бывает лучше, чем прямо сейчас.
  • Если реализацию идеи тяжело объяснить, она плоха.
  • Если реализацию идеи легко объяснить, она может быть хороша.
  • Пространства имён — великолепная идея, их должно быть много!

(описание взято из Википедии)

Примеры:

Hello, World!:

Пример для версий Python 2.x

Hello, World!:

Пример для версий Python 3.x

Квадратное уравнение:

Пример для версий Python 2.6.5
import math
import sys

A = float(raw_input("A = "))
if A == 0:
    print "Not a quadratic equation"
    sys.exit()

B = float(raw_input("B = "))
C = float(raw_input("C = "))

D = B * B - 4 * A * C
if D == 0:
    print "x =", -B / 2.0 / A
    sys.exit()
if D > 0: 
    print "x1 =", (-B + math.sqrt(D)) / 2.0 / A
    print "x2 =", (-B - math. sqrt(D)) / 2.0 / A
else:
    print "x1 = (", -B / 2.0 / A, ",", math.sqrt(-D) / 2.0 / A, ")"
    print "x2 = (", -B / 2.0 / A, ",", -math.sqrt(-D) / 2.0 / A, ")"

CamelCase:

Пример для версий Python 2.6.5

Используются функции стандартной библиотеки translate и title.

Для функции title все не-буквы считаются разделителями слов, так что нет необходимости предварительно заменять их пробелами.

non_letters = ''.join(c for c in map(chr, range(256)) if not c.isalpha())

def camel_case(s):
    return s.title().translate(None, non_letters)

print camel_case(raw_input())

Факториал:

Пример для версий Python 2.6.5

Используется итеративный способ вычисления факториала.

def factorial(n):
    if n == 0:
        return 1
    
    f = 1
    for i in range(1, n + 1):
        f *= i
    return f

for n in range(16 + 1):
    print "%d! = %d" % (n, factorial(n))

Факториал:

Пример для версий Python 2.6.5

Используется рекурсивное определение факториала.

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

for n in range(16 + 1):
    print "%d! = %d" % (n, factorial(n))

Числа Фибоначчи:

Пример для версий Python 2. 6.5

Используется рекурсивное определение чисел Фибоначчи.

def fibonacci(n):
    if n < 3:
        return 1
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)

for n in range(1, 16 + 1):
    print "%i," % fibonacci(n) ,
print "..."

Факториал:

Пример для версий Python 3.x

Используется функциональное определение факториала.

import functools

factorial = lambda n: functools.reduce(lambda a, b: a * b, range(1, n + 1), 1)

for n in range(16 + 1):
    print "%d! = %d" % (n, factorial(n))

Почему Python, а не любой другой язык программирования? / Девман

Простота

Питон воспринимается легче за счёт отсутствия синтаксической шелухи. Фигурные скобки заменили на отступы; избавились от лишних круглых скобок; классы, функции и переменные объявляются без лишних слов (модификаторов). Код на питоне читается почти как естественный язык. Пример:

def get_roots(a, b, c):
    discriminant = b ** 2 - 4 * a * c
    if discriminant < 0:
        return
    root1 = (-b - sqrt(discriminant)) / (2 * a)
    root2 = (-b + sqrt(discriminant)) / (2 * a)
    if discriminant == 0:
        return root1, None
    else:
        return root1, root2

Такой подход заложен в основу языка: один из постулатов дзена питона гласит: “Readability counts”. Из-за своей простоты Python преподают первым языком программирования во многих иностранных школах и ВУЗах.

Из коробки

На большинстве операционных систем Linux и на любой современной macOS питон уже есть. Не надо ничего устанавливать: достаточно набрать в терминале python3.

Богатая библиотека

Стандартная библиотека языка Python огромна. Большая часть решается командой import module_name, импортом нужного инструмента из набора питона. Если решить проблему стандартными средствами не удалось, можно воспользоваться сторонними модулями. Достаточно одной команды pip install module_name и всё, можно делать import, как описано выше!

Распространенность

Благодаря богатой библиотеке, питон находит применение в самых разных областях:

  • В разработке крупных преложений для людей:
    • BitTorrent
    • Центр приложений Ubuntu
    • Dropbox
  • В разработке игр:
    • Civilization IV
    • Battlefield 2
    • World of Tanks
  • Богатый модуль для работы с ОС нашёл своё применение в области компьютерной безопасности, например в поиске уязвимостей. В том числе и злоумышленниками (чёрный пиар тоже пиар).
  • Используется учеными как инструмент в различных предметных областях областях
  • Web-разработка (Django, Flask, Tornado).

На Википедии есть отдельная страничка с программами на Python.

Кто использует

На Python пишут в Яндексе, Гугле, Авито, Мэйле, Касперском и даже в NASA. Питон используется в Dropbox, Youtube, Bitly, Reddit, а Instagram, Disqus, Spotify, Bitbucket работают на Django! И таких примеров много. А вот ещё один факт: Python занял второе по популярности место в 2020-м году

Сообщество

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

Загрузить Python | Python.org

Информация о конкретных портах и ​​информация для разработчиков

Открытые ключи OpenPGP

Исходные и двоичные исполняемые файлы подписываются диспетчером выпуска или сборщиком двоичных файлов с использованием своих Ключ OpenPGP. Файлы выпуска для поддерживаемых в настоящее время выпусков подписаны следующими лицами:

Файлы выпуска для более старых выпусков, срок действия которых подошел к концу, могли быть подписаны одним из следующих лиц:

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

gpg --recv-keys [идентификатор ключа]
 

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

gpg --verify Python-3.6.2.tgz.asc
 

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

  • (Эти инструкции предназначены для Пользователи командной строки GnuPG и Unix.)

Прочие полезные предметы

  • Ищете сторонние модули Python ? В В Package Index их много.
  • Вы можете просмотреть стандартную документацию онлайн, или вы можете скачать его в HTML, PostScript, PDF и других форматах. Посмотреть основные Страница документации.
  • Информация об инструментах для распаковки архивных файлов. предоставляется на python.org.
  • Совет : даже если вы загрузите готовый двоичный файл для своего платформу, имеет смысл также скачать исходный код.Это позволяет вам просматривать стандартную библиотеку (подкаталог Lib ) и стандартные коллекции демоверсий ( Demo ) и инструментов ( Tools ), которые идут с ним. Вы можете многому научиться у источник!
  • Существует также коллекция пакетов Emacs что Emacsing Pythoneer может оказаться полезным. Это включает в себя основные режимы редактирования Python, C, C ++, Java и др., отладчик Python интерфейсы и многое другое. Большинство пакетов совместимы с Emacs и XEmacs.

Хотите внести свой вклад?

Хотите внести свой вклад? См. Руководство разработчика Python чтобы узнать, как управляется разработка на Python.

Что такое Python? Мощное, интуитивно понятное программирование

Начиная с 1991 года, язык программирования Python считался средством заполнения пробелов, способом написания сценариев, которые «автоматизируют скучные вещи» (как сказано в одной популярной книге по изучению Python) или быстрого создания прототипов приложений, которые будут реализованы в других языков.

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

Ключевые преимущества Python

Успех Python основан на нескольких преимуществах, которые он предоставляет как новичкам, так и экспертам.

Python прост в изучении и использовании

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

Python широко принят и поддерживается

Python популярен и широко используется, что подтверждается высокими рейтингами в опросах, таких как Tiobe Index, и большим количеством проектов GitHub, использующих Python. Python работает на всех основных операционных системах и платформах, а также на большинстве второстепенных. Многие основные библиотеки и службы на основе API имеют привязки или оболочки Python, что позволяет Python свободно взаимодействовать с этими службами или напрямую использовать эти библиотеки.

Python не является «игрушечным» языком

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

Python продолжает двигаться вперед

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

Для чего используется Python

Самый простой вариант использования Python — это язык сценариев и автоматизации.Python — это не просто замена сценариев оболочки или командных файлов; он также используется для автоматизации взаимодействия с веб-браузерами или графическими интерфейсами приложений или для инициализации и настройки системы с помощью таких инструментов, как Ansible и Salt. Но сценарии и автоматизация — это только верхушка айсберга Python.

G Общее программирование приложений с помощью Python

С помощью Python можно создавать приложения с графическим интерфейсом для командной строки и кросс-платформенные приложения и развертывать их как автономные исполняемые файлы.Python не имеет встроенной возможности генерировать автономный двоичный файл из скрипта, но для этого можно использовать сторонние пакеты, такие как cx_Freeze и PyInstaller.

Наука о данных и машинное обучение с Python

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

Веб-сервисы и RESTful API в Python

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

Метапрограммирование и генерация кода в Python

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

Python также может использоваться для управления системами генерации кода, такими как LLVM, для эффективного создания кода на других языках.

«Связующий код» в Python

Python часто называют «связующим языком», что означает, что он может позволить разрозненному коду (обычно библиотекам с интерфейсами языка C) взаимодействовать.Его использование в науке о данных и машинном обучении именно в этом ключе, но это всего лишь одно воплощение общей идеи. Если у вас есть приложения или программные домены, которые вы хотели бы подключить, но не можете общаться друг с другом напрямую, вы можете использовать Python для их соединения.

Там, где Python не справляется

Также стоит отметить, что типы задач Python не подходят для .

Python — это язык высокого уровня, поэтому он не подходит для программирования на системном уровне — драйверы устройств или ядра ОС не используются.

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

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

Как Python упрощает программирование

Синтаксис Python предназначен для удобочитаемости и ясности, без особых претензий.Стандартный «привет, мир» в Python 3.x — это не что иное, как:

 print («Привет, мир!») 

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

 с open ('myfile.txt') как my_file: 
file_lines = [x.rstrip ( '\ n') для x в my_file]

Конструкция with / as — это менеджер контекста , который обеспечивает эффективный способ создания экземпляра объекта для блока кода и последующего удаления его за пределами этого блока.В данном случае это объект my_file , созданный с помощью функции open () . Это заменяет несколько строк шаблона, чтобы открыть файл, прочитать из него отдельные строки, а затем закрыть его.

Конструкция [x… for x in my_file] — это еще одна особенность Python, понимание списка . Он позволяет выполнять итерацию элемента, который содержит другие элементы (здесь my_file и содержащиеся в нем строки), и позволяет обрабатывать каждый повторяемый элемент (то есть каждый x ) и автоматически добавлять его в список.

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

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

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

Python 2 против Python 3

Python доступен в двух версиях, которые достаточно разные, чтобы сбить с толку многих новых пользователей. Python 2.x, более старая «устаревшая» ветка, будет продолжать поддерживаться (то есть получать официальные обновления) до 2020 года, а после этого может неофициально существовать.Python 3.x, нынешнее и будущее воплощение языка, имеет множество полезных и важных функций, которых нет в Python 2.x, таких как новые синтаксические функции (например, «оператор моржа»), улучшенные элементы управления параллелизмом и многое другое. квалифицированный переводчик.

Принятие Python 3 на долгое время замедлилось из-за относительного отсутствия поддержки сторонних библиотек. Многие библиотеки Python поддерживают только Python 2, что затрудняет переключение. Но за последние пару лет количество библиотек, поддерживающих только Python 2, сократилось; все самые популярные библиотеки теперь совместимы как с Python 2, так и с Python 3.Сегодня Python 3 — лучший выбор для новых проектов; нет причин выбирать Python 2, если у вас нет выбора. Если вы застряли на Python 2, в вашем распоряжении есть различные стратегии.

Библиотеки Python

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

Стандартная библиотека Python предоставляет модули для общих задач программирования — математики, обработки строк, доступа к файлам и каталогам, сети, асинхронных операций, потоковой передачи, управления многопроцессорностью и т. Д. Но он также включает модули, которые управляют общими задачами программирования высокого уровня, необходимыми для современных приложений: чтение и запись структурированных файловых форматов, таких как JSON и XML, управление сжатыми файлами, работа с интернет-протоколами и форматами данных (веб-страницы, URL-адреса, электронная почта). Почти любой внешний код, который предоставляет C-совместимый интерфейс внешней функции, может быть доступен с помощью модуля Python ctypes .

Стандартный дистрибутив Python также предоставляет элементарную, но полезную кроссплатформенную библиотеку графического интерфейса через Tkinter и встроенную копию базы данных SQLite 3.

Тысячи сторонних библиотек, доступных через Python Package Index (PyPI), являются самым ярким свидетельством популярности и универсальности Python.

Например:

  • Библиотека BeautifulSoup предоставляет универсальный набор инструментов для очистки HTML, даже сложного, сломанного HTML, и извлечения из него данных.
  • Requests делает масштабную работу с HTTP-запросами безболезненной и простой.
  • Фреймворки
  • , такие как Flask и Django, позволяют быстро разрабатывать веб-сервисы, охватывающие как простые, так и сложные варианты использования.
  • Множеством облачных сервисов можно управлять с помощью объектной модели Python с помощью Apache Libcloud.
  • NumPy, Pandas и Matplotlib ускоряют математические и статистические операции и упрощают создание визуализаций данных.

Python компрометирует

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

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

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

 с open ('myfile.txt') как my_file: 
file_lines = [x.rstrip ('\ n') for x in my_file]

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

Еще один потенциальный отказ, особенно для тех, кто пришел из таких языков, как C или Java, — это то, как Python обрабатывает типизацию переменных.По умолчанию Python использует динамическую или «утиную» типизацию — отлично подходит для быстрого кодирования, но потенциально проблематично для больших баз кода. Тем не менее, Python недавно добавил поддержку необязательного указания типов во время компиляции, поэтому проекты, которым может быть полезна статическая типизация, могут использовать его.

Python медленный? Не обязательно

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

Python: все, что нужно знать новичку

Мегги Манкен

Последнее обновление 8 января 2021 г.

Является ли Python «лучшим» первым языком программирования? Что вы можете построить с помощью Python и какие виды работ вы могли бы получить с навыками Python? Директор по стипендии Hackbright Academy, Мегги Манкен, объясняет происхождение Python, как Python используется настоящими разработчиками и почему Hackbright Academy преподает Python.Вот все, что нужно знать новичку об изучении Python (плюс несколько отличных бесплатных ресурсов для начала).

Что такое Python?
  • Python — это серверный язык программирования , который отлично подходит для начинающих.
  • Python во многом похож на Ruby, но менее подробен, чем другие языки программирования — немного менее многословен .
  • Python — это доступный . Даже если вы не проходили курс CS, вы все равно можете написать полезный инструмент на Python.Это высокоуровневый , поэтому вам не придется иметь дело с низкоуровневыми аспектами программирования, такими как управление памятью.
  • Python можно использовать для написания сценариев, парсинга веб-страниц и создания наборов данных. В научном сообществе популярен научных вычислений ; есть библиотеки, которые упрощают совместное использование проектов академического кода на Python.
  • Python — это язык веб-программирования , поэтому он взаимодействует с Интернетом. Он знает, как получать и отправлять веб-запросы и общаться с базами данных.
  • Говорят, что
  • Python — « свободно типизированный ». В этой категории языков программирования не требуется указывать тип значения, возвращаемого функцией при ее определении, или тип переменной перед ее созданием.
  • Сообщество Python приветствует , поддерживается в хорошем состоянии и хорошо документировано. Это важно для новичка!

Каковы истоки Python?

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

Отступы в Python

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

Поощрение ответственного кодирования

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

Люди часто описывают Java как действительно контролирующего родителя, который активно мешает вам играть в дороге и заставляет оставаться дома. Несмотря на то, что JavaScript прошел долгий путь, можно сказать, что JavaScript — это родитель, который активно поощряет вас делать неправильный выбор и играть в дороге. Python находится где-то посередине: родитель, который говорит, что вы можете играть в дороге, но должны ли вы? Они позволят вам это сделать, но это ваше решение, и вам придется разбираться с последствиями.Так что Python — это своего рода золотая середина.

Почему Python — отличный первый язык программирования для начинающих?
  • Синтаксис Python очень похож на английский , поэтому он интуитивно понятен, что помогает понять, что происходит. Вам не нужно искать, что означают символы, когда вы используете Python. Вот пример:

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

Какие фреймворки я буду использовать с Python?
  • Django и Flask — самые популярные веб-фреймворки с Python.
  • Jupyter Notebooks популярны среди ученых, людей, изучающих машинное обучение, и людей, занимающихся более академической стороной вычислений в целом. Они позволяют вам делиться исполняемыми фрагментами кода вместе с объяснениями того, что делает код.

Как настоящие разработчики используют Python в своей работе?

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

  • Они пишут Python, потому что это серверный язык , который использует их компания.Это довольно распространенное явление, но мы видим, что многие выпускники используют Java, Ruby, PHP и другие.
  • Когда компании не используют Python в качестве основного языка серверной части, они могут вместо этого использовать Python для создания сценариев для развертывания или других задач разработки , управления процессами автоматизации , очисткой данных или миграцией данные из одного места в другое.
    • Python удобочитаем и достаточно декларативен, поэтому, как правило, хорошо подходит для этих разовых задач управления.Python также немного похож на суперклей — он хорош для соединения различных библиотек, источников данных и т. Д. В качестве одного связного инструмента или программы.

Большинство крупных компаний для чего-то используют Python. Yelp — известный магазин Python. Создатель Python работает в Dropbox, и большая часть Dropbox построена на Python.

Веб-сайты, которые используют Python в том или ином аспекте:

  • Google
  • Facebook
  • YouTube
  • Pinterest
  • Dropbox
  • Spotify
  • Netflix
  • Quora

Каковы недостатки Python?

Python на медленнее на , чем другие языки.Существует компромисс между тем, насколько высокоуровневым и абстрактным является язык программирования, и насколько он эффективен с точки зрения использования памяти и пространства. Python не является низкоуровневым, поэтому он не такой быстрый и эффективный, как скомпилированный низкоуровневый язык, такой как Java или Rust. Реже использовать Python для построения систем распределенных баз данных или других систем, где скорость чрезвычайно важна.

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

Какие есть альтернативы Python?
  • Самая распространенная альтернатива Python — Ruby . Ruby похож по синтаксису на Python, поэтому может быть сложно выучить Ruby и Python один за другим. Это почти как учить испанский и португальский одновременно.
  • Другой основной альтернативой на веб-арене является Full Stack JavaScript . Python и JavaScript не слишком похожи, но их можно использовать для аналогичных целей.

Почему Hackbright Academy обучает Python вместо Ruby и Full-Stack JavaScript?

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

.
  • Там написано: «Простое лучше, чем сложное, сложное лучше, чем сложное.Это относится не только к руководству по стилю кода, но и к высокоуровневому подходу к дизайну, который вы должны использовать при создании сложной системы.

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

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

  • Анализ времени работы
  • Связанные списки
  • Рекурсия
  • Как понимать, анализировать и создавать алгоритмы

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

Какие работы вы можете получить с Python?

Веб-разработка

В Hackbright Academy мы больше фокусируемся на серверной веб-разработке, поэтому мы видим, что большинство наших выпускников получают стандартные роли веб-разработчиков, такие как Software Engineers , Web Developers и Front-End Web Developers , работающие на Python. или на других языках.Протоколы, задачи и рабочий процесс, которые вы изучите, когда станете веб-разработчиком, станут хорошей опорой для работы в сфере технологий. Мы видим, что многие выпускники сначала занимаются веб-разработкой, а затем, если они в конечном итоге захотят работать в области data science или научных вычислений , то они могут перейти на другую работу, как только усвоят все основные принципы.

Наука о данных

Несколько выпускников Hackbright перешли на Data Analytics или Data Science.Возможно, они работали в команде разработчиков или бизнес-аналитиком до поступления в Hackbright Academy, поэтому у них уже был некоторый общий опыт, но им нужно было знать Python, чтобы специализироваться. Python — это язык, если вы хотите заняться машинным обучением или наукой о данных. , и он имеет отличный набор библиотек для этого типа работы.

Как я могу начать изучать Python?

Онлайн-обучение

  • Codecademy (бесплатная или платная): хорошее место, чтобы узнать, что такое программирование и каково это.Однако я думаю, что людям нужно пойти немного дальше, чем Codecademy, и решить некоторые из более сложных проблем, чтобы понять, действительно ли им нравится программирование.
  • Программирование для всех: начало работы с Python от Мичиганского университета на Coursera (бесплатно или платно): отлично подходит для людей, которые хотят последовательного и всестороннего освещения темы. На самом деле, я изначально начал изучать Python, пройдя курс Coursera.

Книги

Классы

  • Курс Hackbright Prep дает вам отличное введение в программирование перед тем, как принять участие в программе иммерсивной инженерии программного обеспечения.Вы познакомитесь с фундаментальными принципами, такими как четыре цикла, поток управления, условные выражения и типы данных. Hackbright Prep особенно хорошо подходит для очного обучения, которому необходимо личное общение, чтобы по-настоящему понять тему.

Узнайте больше и прочтите обзоры Hackbright Academy в отчете о курсе. Посетите веб-сайт Hackbright Academy.

Об авторе

Мегги Манкен — директор по стипендии в Hackbright Academy. Выпускница третьей группы Hackbright Academy в 2013 году, Мегги продолжила работать разработчиком программного обеспечения в группе инженеров Hackbright, а затем стала инструктором в 2016 году.Мегги имеет степень в области психологии, гендерных и женских исследований.

Пожалуйста, включите JavaScript, чтобы просматривать комментарии от Disqus.

Python пожирает мир: как побочный проект одного разработчика стал самым популярным языком программирования на планете

Разочарованный недостатками языка программирования, Гвидо ван Россум создал Python.На языке, который сейчас используют миллионы, Ник Хит разговаривает с ван Россумом о прошлом Python и исследует, что будет дальше.

В конце 1994 года избранная группа программистов со всех концов США встретилась, чтобы обсудить свое новое секретное оружие.

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

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

Даже на той ранней встрече в тогдашнем Национальном бюро стандартов США в Мэриленде, Варшава, говорила, что было очевидно, что Python предлагает что-то новое в том, насколько легко было писать код и просто получать вещи done.

«Когда я впервые познакомился с Python, я знал, что есть что-то особенное. Это была комбинация удобочитаемости, и писать код на Python доставляло удовольствие », — вспоминает он.

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

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

Python играет ключевую роль в некоторых из самых известных мировых организаций, помогая Netflix транслировать видео в более чем 100 миллионов домов по всему миру, поддерживая феномен обмена фотографиями в Instagram и помогая НАСА в освоении космоса.

Python, первые годы

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

Язык программирования был начат как побочный проект голландским программистом Гвидо ван Россумом. В конце 1980-х ван Россум работал над распределенной системой в Centrum Wiskunde & Informatica (CWI), голландском национальном исследовательском центре математики и информатики. Разочарованный неадекватностью существующих языков программирования, он решил создать новый — простой в использовании и функциональный.

Гвидо ван Россум в 2001 году, в год основания Python Software Foundation.

Изображение: Гвидо ван Россум

Для постороннего создание собственного языка программирования может показаться сродни заявлению: «Я построю свой собственный самолет», но ван Россум, которому тогда было за тридцать, имел некоторую фору. Он провел три года, работая с командой в CWI, которая создала ABC, интерпретируемый язык программирования, поэтому он уже имел представление о том, что потребуется для создания интерпретатора, выполняющего инструкции программиста, и синтаксических строительных блоков, необходимых для нового языка. .

Также важно понимать, насколько сложно было что-то сделать с ограниченными языками программирования, доступными ван Россуму в то время. Распределенная вычислительная система Amoeba, над которой он работал, требовала, чтобы он работал на C или оболочке Unix, обе из которых имели значительные ограничения. C не только требовал, чтобы разработчики боролись со сложностями ручного управления памятью и обходили минное поле потенциальных ошибок, но также не хватало библиотеки многоразового кода для повседневных задач разработчика, что заставляло разработчиков изобретать колесо с каждым новым проектом.Между тем, у оболочки Unix были другие проблемы — она ​​предлагала набор утилит для общих задач, но работала так медленно, что не могла справиться со сложной логикой.

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

Не знаю, насколько серьезно я был уверен, что это действительно повысит мою продуктивность.Я думаю, что отчасти мне просто очень понравилась идея начать большой проект самостоятельно, разложить код, который я хотел выложить, и спроектировать его так, как я хотел. Программирование для меня развлечение. Гвидо ван Россум, создатель Python

«Я в основном подумал:« А почему бы мне не создать свой собственный язык? », Украл мои идеи из ABC, но уменьшил размер проекта с того, на что потребовалось три года, до того, что я могу сделать сам, как скунс работает проект за три месяца, и таким образом родился Python », — говорит он.

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

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

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

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

Каким бы необычным ни казалось создание собственного языка программирования для человека, ван Россум оказался в хорошей компании. В конце 1980-х годов различные основные языки возникли из-за разочарования отдельных людей в инструментах, доступных разработчикам в то время.Как известно, Ларри Уолл сказал, что при создании Perl его двигало то, насколько сложно было решить проблему при кодировании, а также обилие «лени, нетерпения и высокомерия». Точно так же поиски Джона Остерхаута лучшего языка для создания интерактивных инструментов для построения интегральных схем привели его к созданию Tcl.

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

«В настоящее время Python имеет множество важных абстракций, которых в то время не было, но язык выглядел очень похожим», — говорит он.

СМОТРЕТЬ: Более подробная информация о Python, которую необходимо прочитать (TechRepublic на Flipboard)

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

Карен Роби берет интервью у Ника Хита о его заглавной статье об эволюции языка программирования Python.

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

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

«Я помню, что где-то в 1985 году я отправился в отпуск в США, мой первый визит в США с магнитной лентой в багаже, — говорит ван Россум.

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

«Итак, неудивительно, что мы не очень далеко продвинулись с распространением ABC, несмотря на все его замечательные свойства», — говорит он.Но по мере того, как Интернет-революция набирала обороты, было бы намного проще распространять Python без чемодана, полного лент.

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

Загрузите эту статью в формате PDF (требуется бесплатная регистрация).

«Я надеялся на какой-то успех, но я сделал по крайней мере еще одну вещь, которую я выпустил, и в итоге закончился провалом», — говорит он.

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

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

Почему Python выиграл

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

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

Варшава заявляет, что Python нашел баланс между удобством использования, но при этом не жертвовал тем, что он мог делать, — баланс, которого на самом деле не было ни в одном из основных языков программирования в начале 1990-х годов.«Я много работал над кодом Perl, Tcl и C, и мне показалось, что это было не очень весело. На сцену вышел Python, и я подумал:« Вау, это снова делает программирование увлекательным », — сказал он. говорит.

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

SEE: 10 способов предотвратить выгорание разработчиков (бесплатный PDF) (TechRepublic)

Финтан Райан, директор по исследованиям группы Application Platform Strategies аналитической компании Gartner, говорит, что ясность сыграла большую роль в победе. среди разработчиков, как сейчас, так и в 1990-х, даже если придание такого значения отступам оказалось спорным.«Он предлагал очень чистый синтаксис. Вы могли применить это на других языках, но Python применял это автоматически. Некоторым программистам это нравится, а некоторым это не нравится», — говорит он.

Барри Варшава на первом семинаре по Python в 1994 году.

Изображение: Барри Варшава

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

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

Python, возможно, вообще никогда не существовал бы, если бы популярные языки программирования в конце 80-х были лучше, и одной из мотиваций ван Россума для создания Python была несовместимость языка сценариев Perl с распределенной вычислительной системой Amoeba, над которой он работал. CWI.«К счастью для Python, Perl нельзя было перенести на Amoeba», — говорит он. «Если бы можно было перенести Perl на Amoeba, я бы никогда не подумал о создании собственного языка».

Несмотря на то, что Python после своего выпуска привлек пользователей, состоящих из яростных фанатов, в 1990-х годах Python все еще оставался слабым звеном языка программирования. Ван Россум говорит, что конкурентами языка были Tcl / Tk и Perl, которые разделяли цель Python — быть простым в использовании и относительно функциональным.

«В 90-х годах в трех лучших языках мира Perl определенно был номером один — 800-фунтовая горилла — Tcl / Tk был номером два, а Python был очень скромным номером три», — говорит он.

Загрузите эту статью в формате PDF (требуется бесплатная регистрация).

Сегодня Python является самым быстрорастущим языком программирования с точки зрения активных разработчиков, согласно ежегодному опросу разработчиков Stack Overflow, одному из наиболее полных доступных снимков использования языков программирования, в то время как Perl сократился до такой степени, что этого не произошло ». не упоминается в последнем отчете о переполнении стека.

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

Рост количества просмотров вопросов Python на Stack Overflow по сравнению с другими языками программирования отражает огромный рост пользователей Python.

Изображение: переполнение стека

Итак, как Python обошел своего бывшего соперника и как объяснить совершенно разные состояния двух языков? Ван Россум считает, что это как-то связано с тем, насколько легко поддерживать кодовую базу, когда она превышает определенный размер.«По опыту людей Perl идеально подходит для 10-строчного сценария», — говорит он. «Но если у вас есть 500 строк основного кода и несколько тысяч строк библиотеки, потребуется огромная дисциплина, чтобы сделать этот код поддерживаемым на Perl. В Python, даже если у вас нет такой дисциплины, код по-прежнему будет достаточно читабельным и легко обслуживаемым «.

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

«Были некоторые интернет-разработчики — большая часть из них была ранней работой в Интернете — которые хотели писать все более и более крупные приложения и которые ценили, что написать приложение на Python гораздо меньше усилий, чем написать его на C, C ++ или Java, если на то пошло «.

По мере распространения Python в 1990-х годах ван Россум, все еще работающий в CWI, обнаружил, что его творение все чаще помогает ему контактировать с людьми со всего мира.

«Я что-то сделал, и это связывало людей со всего мира — людей в Австралии, людей в США, людей в других европейских странах.«У меня было лучшее время моей жизни», — говорит он. К середине 1990-х Python начал использоваться по-новому, от скриптов для записи и воспроизведения звука до своего первого набега на веб-разработку, которая впоследствии стала опорой для Python.

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

Он предлагал очень чистый синтаксис. Вы можете применить это на других языках, но Python применяет это автоматически. Некоторым программистам это нравится, а некоторым это не нравится. Финтан Райан, директор по исследованиям Gartner

Райан из Gartner говорит, что популярность Python среди разработчиков в 1990-е гг. Определялась тем, что он стал излюбленным выбором для быстрого создания мощных скриптов.«Благодаря тому, что язык сценариев с очень сильной функциональностью снизил барьеры для входа для многих пользователей, — говорит он.

Более того, однако, по словам Райана, язык был достаточно универсальным и настолько легким в освоении, что он понравился самым разным типам пользователей с различными техническими знаниями. «Системные администраторы и другие взяли язык для автоматизации и программирования систем, а разработчики — для таких функций, как функциональное программирование и наличие классов с наследованием — Perl, например, был гораздо менее популярен в этом отношении», — говорит он.«Как только люди познакомились с языком, а у него довольно низкая кривая для начала работы, они очень быстро стали чрезвычайно продуктивными».

Загрузите эту статью в формате PDF (требуется бесплатная регистрация).

К 1994 году Python привлек внимание Майкла Маклея, который занимал руководящую должность в Национальном бюро стандартов США (NBS), ныне Национальном институте стандартов и технологий США (NIST). Предсказывая, как Python станет популярным среди исследователей и ученых за его простоту использования, Маклей интересовался тем, как Python может использоваться учеными из NBS, которые, по словам ван Россума, «имели значительный объем данных для обработки, но были не очень хороши. хорошие кодеры ».

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

ван Россум изображен во время первого семинара по Python во время обсуждения с Варшавой и Роджером Массе, которые в то время работали с Варшавой в CNRI.

Предоставлено: Барри Варшава.

Именно во время этого размещения в офисе NBS будет проведен самый первый семинар по Python, где ван Россум, Барри Варшава и другие первые энтузиасты Python собрались вместе, чтобы обсудить, что они делают с Python и надежды на будущее развитие языка. .

Находясь в офисе NBS, ван Россум встретил Боба Кана, известного своей ролью в разработке одной из основополагающих технологий Интернета: протокола TCP / IP.

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

Так же, как Python ответил на потребность в языке программирования нового типа, ван Россум говорит, что предложение о работе поступило как раз в то время, когда он начал сомневаться в своем будущем в CWI.

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

СМОТРЕТЬ: Изучение Python: лучшие бесплатные книги, руководства и видео (TechRepublic)

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

Именно в CNRI ван Россум собрал многие структуры для управления языком Python с помощью группы энтузиастов Python. После присоединения к CNRI в апреле 1995 года ван Россум возглавил небольшую группу разработчиков, работающих над созданием программ Knowbot, программного обеспечения, известного как мобильные агенты, предназначенного для работы в распределенных компьютерных системах, таких как Интернет.

Команда работал с Python, и к ван Россуму присоединились Джереми Хилтон, Роджер Массе, Барри Варшава, Кен Манхеймер и Фред Дрейк, которые впоследствии сыграли важную роль в сообществе Python.

На сцену вышел Python, и я подумал: «Вау, это снова делает программирование забавным». Барри Варшава, давний разработчик Python и член Руководящего совета Python

«В итоге мы получили группу из четырех-десяти человек, большинство из которых работали в CNRI, которые были ядром разработки Python», — говорит ван Россум.

Пока ван Россум работал в CNRI, эта команда помогла ему создать веб-сайт python.org, сервер CVS для управления изменениями в основной кодовой базе и списки рассылки для групп особых интересов Python, которые работают над улучшением и поддержкой языка Python. .

Загрузите эту статью в формате PDF (требуется бесплатная регистрация).

Сообщество пользователей Python значительно выросло с момента его публичного выпуска в 1991 году, и ко второй половине десятилетия язык привлек значительную глобальную базу пользователей. В этот период управление языком стало формализоваться с созданием предшественника Python Software Foundation (PSF), который будет создан в 2001 году. По мере роста сообщества проводимые два раза в год семинары по Python, которые начались в 1994 году. превратились в более крупные ежегодные мероприятия и, в конечном итоге, в ежегодный PyCon от PSF, который продолжает развиваться и сегодня.

К началу 21-го века язык был больше, чем любой человек, и значительное сообщество играло активную роль в его разработке, еще далеко от лета 1994 года, когда первые пользователи Python беспокоились о том, что произойдет с ним. язык «если Гвидо сбил автобус».

Ван Россум, однако, продолжал играть ключевую роль, и идея о том, что он является сердцем языка, никогда не уходила, о чем свидетельствует его прозвище «Доброжелательный диктатор на всю жизнь» (BDFL) языка, язык назойливый титул, который прижился годами.

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

Райан из Gartner говорит, что для создателя языка нет ничего необычного в том, чтобы выступать в качестве управляющего этим языком, ссылаясь на Ларри Уолла с Perl и Райана Даля с исполняющей средой JavaScript Node.js, но говорит, что ван Россум известен своей беспристрастностью в своем руководстве. Python.

«Широко признано, что он очень уравновешен в отношении направления проекта и его общего руководства», — говорит он.

Действительно, именно открытый характер разработки Python, основанный на публичных дебатах между сообществом основных разработчиков, ван Россум считает решающим фактором успеха Python.

SEE: Как начать успешную карьеру разработчика (TechRepublic Premium)

Эволюция Python

За прошедшие годы в Python произошел большой скачок вперед — внедрение Python 3 .0 в 2008 году модернизировал язык, а совсем недавно произошли значительные изменения в способах управления языком.

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

Эти изменения были инициированы в прошлом году, когда ван Россум ушел со своей руководящей роли в BDFL после разногласий общественности по поводу введения в язык выражений присвоения, обсуждаемого в предложении по усовершенствованию Python PEP572.

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

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

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

SEE: Python vs R и самые большие зарплаты: основные тенденции в области науки о данных (ZDNet)

«В прошлом всегда было ясно, что если нужно было принять решение об изменении языка или улучшенной функции, целая группа основных разработчиков обсуждала плюсы и минусы этой вещи. Либо возникнет четкий консенсус, либо, если он не будет таким ясным, я обдумываю его и решаю так или иначе.Что касается PEP572, то, несмотря на то, что он был явно спорным, я выбрал «Да, я хочу сделать это», и люди не соглашались не соглашаться.

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

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

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

Разработчик ядра Python Мариатта Виджая приветствовала избрание Руководящего совета Python для наблюдения за разработкой языка.

Изображение: А. Джесси Джирью Дэвис

Ранее в этом году разработчики ядра Python — те, кто работает над поддержкой и обновлением эталонного интерпретатора Python CPython — избрали руководящий совет, чтобы следить за будущим языка. Был избран Ван Россум вместе с Варшавой и другими основными разработчиками Бреттом Кэнноном, Кэрол Виллинг и Ником Когланом.

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

«Я думаю, Гвидо действительно чувствовал себя так, будто мир был на его плечах, и только на его плечах», — говорит он.

«Это могло быть хорошо 25 лет назад, когда Python был гораздо меньшим сообществом и меньшим языком, но это действительно слишком много, чтобы возложить на одного человека, понимаете? Я думаю, только для его собственного здоровья и участия в сообщества, здорово иметь возможность распределить эту нагрузку между пятью людьми », — говорит Варшава.

Загрузите эту статью в формате PDF (требуется бесплатная регистрация).

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

«Если через 25 лет Python будет здоровым, то не мы с Гвидо будем управлять всем, понимаете?» он говорит.

Создание управляющего совета также приветствовалось более широким сообществом разработчиков ядра Python, при этом разработчик ядра Мариатта Виджая заявила, что этот шаг стал шагом в правильном направлении.«Для меня руководящий совет лучше, чем иметь одного человека, который решает все — это слишком большая ответственность и бремя», — говорит она. «Это хороший знак, и благодаря ему сообщество получит больше отзывов».

Будущее Python

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

На саммите Python Language Summit в этом году соучредитель BeeWare Рассел Кейт-Маги предупредил, что Python столкнется с «экзистенциальным риском», если поддержка мобильных и новых веб-платформ не улучшится.

«Телефоны и планшеты достигают такого проникновения на рынок, которого никогда не видели настольные компьютеры и ноутбуки, и все же, как сообщество, у нас нет истории о том, как вы можете использовать Python на этих устройствах», — сказал он, ссылаясь на то, что его сын использовал iPad в его школе. «Так что же происходит с Python, когда ноутбуки являются нишевыми устройствами?» он спросил.

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

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

Он указал на необходимость лучшей поддержки компиляции кода для новых аппаратных платформ, отличных от x86; что набор тестов Python подвержен сбоям на мобильных и веб-платформах; размер установки для приложений Python раздут и не может быть сокращен до небольшого набора зависимостей; усилия, необходимые для того, чтобы библиотека asyncio работала при написании кода графического интерфейса пользователя на Android, Windows и в Интернете; и количество модулей в стандартной библиотеке, несовместимых с интерпретаторами Python, кроме CPython.

Варшава говорит, что Кейт-Маги делает много хороших замечаний и считает, что важно учитывать, насколько Python остается актуальным для новых платформ — телефонов, планшетов и новых веб-технологий, таких как WebAssembly.

«У Python сейчас не очень хорошая история», — говорит Варшава, говоря об амбициях иметь возможность загрузить приложение для iPhone или телефона Android и «даже не знать, что оно было написано на Python».

SEE: Руководство для начинающих по Python: Интервью с создателем Гвидо ван Россумом, любимые инструменты разработчиков, сценарии использования (TechRepublic)

Количество ядер процессора в современных чипах продолжает расти (до 48- ядер в последних предложениях серверов Intel), Варшава также стремится к тому, чтобы Python стал лучше распределять задачи между несколькими ядрами.

Он воодушевлен потенциалом работы, проводимой Эриком Сноу над субинтерпретаторами, и тем, как это может расширить возможности Python для одновременного выполнения кода. «Я действительно хотел бы видеть больше работы над возможностью использовать преимущества нескольких ядер», — говорит он.

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

«Он не совсем готов для Python 3.8, может быть, для 3.9», — говорит Варшава. «Я думаю, мы увидим это в течение следующих двух или двух с половиной лет. Я настроен довольно оптимистично. Я действительно рад, что Эрик продолжает работать над этим, потому что я считаю, что это важная работа. »

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

Сообщество Python также предпринимает шаги по модернизации стандартной библиотеки встроенного кода языка, недавно опубликовав предложение об удалении устаревших модулей из библиотеки; при этом он обращается к некоторым недавним критикам в отношении состояния стандартной библиотеки Python. Библиотека обычно считается одной из сильных сторон Python, поскольку ее можно использовать для выполнения широкого круга общих задач, поэтому Python описывается как «имеющий включенные батареи». Однако в ходе выступления на саммите Python Language Summit в этом году был задан вопрос, будет ли Python лучше обслуживаться, позволяя людям выбирать библиотеки кода из репозитория PyPI, а не иметь функциональные возможности, связанные с языком в качестве стандартной библиотеки.

Загрузите эту статью в формате PDF (требуется бесплатная регистрация).

Есть также вопросы о том, может ли состав органов, контролирующих разработку языка — разработчиков ядра Python и Руководящего совета Python — лучше отражать разнообразную пользовательскую базу пользователей Python в 2019 году.

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

«На PyCon я разговаривал с участниками PyLadies из Индии и Африки. Они прокомментировали:« Когда мы слышим о Python или PyLadies, мы думаем о людях в Северной Америке или Канаде, где на самом деле есть большие базы пользователей в других частях мир. Почему мы не видим их больше? » Я думаю, что в этом есть большой смысл. Поэтому я определенно хотел бы, чтобы это произошло, и я думаю, что мы все должны внести свой вклад ».

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

«Это на самом деле больше исходит от сообщества, чем просто сверху вниз», — говорит он.

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

Предоставлено: сотрудничество телескопа Event Horizon и др.

Примером того, как простые проекты сообщества могут оказать огромное влияние на Python, являются Type Hints, Python 3.5, которая была вдохновлена ​​проектом mypy, запущенным аспирантом еще в 2012 году. Эти подсказки позволяют выполнять дополнительную проверку типов, позволяя разработчикам выявлять класс ошибок, которые в противном случае могли бы проскользнуть в программное обеспечение.

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

«Для меня тот факт, что он позволяет масштабировать Python для более крупных организаций — например, Instagram, который в основном работает на Python 3, — совершенно бесценен», — говорит Варшава, которая говорит, что asyncio — еще один пример созданного сообществом идея, которая оказала огромное влияние на возможности языка.

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

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

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

«Это просто поразило меня. В сообществе Python есть пара человек, на которых я смотрю как на сумасшедших ученых Python. Они всегда смотрят, ну, вот что я могу сделать сегодня — как далеко могу я толкнуть это? »

Загрузите эту статью в формате PDF (требуется бесплатная регистрация).

Фотография предоставлена ​​для изображения главного героя: Дэн Страуд под лицензией Creative Commons

Для чего используется Python? 5 отраслей, которые используют его ежедневно

Подходит ли вам технология? Пройдите нашу 3-минутную викторину!

Ты выучишь: Если вам подходит карьера в сфере технологий Какая техническая карьера соответствует вашим сильным сторонам? Какие навыки вам понадобятся для достижения ваших целей

Итак, полное раскрытие: мы считаем Python довольно крутым, поэтому мы сделали его предметом нашего следующего курса.(И почему мы тоже писали всевозможные статьи, связанные с Python).

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

Содержание

Что такое Python?

Для чего используется Python?

— Общие веб-разработки
— Научные вычисления / Наука о данных
— Машинное обучение
— Стартапы
— Финтех и финансовая индустрия

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

Что такое Python?

Python — это язык программирования общего назначения, что означает, что, в отличие от HTML, CSS и JavaScript, он может использоваться для других типов программирования и разработки программного обеспечения, помимо веб-разработки.

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

Здесь мы более подробно разобрали, что такое Python.

Но… Почему это называется Python?

Хорошо, мы не могли , не упомянуть это:

Название не является сложной технической метафорой или сложной аббревиатурой. Python назван в честь Monty Python.

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

Круто, правда? Помимо фактоидов, давайте перейдем к сути этой статьи, а именно к тому, для чего люди используют Python и что отличает его от других языков программирования.

(вверх)

Для чего используется Python?

1. Общая веб-разработка / Создание веб-приложений

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

Согласно этой замечательной статье на Medium, «Python, в отличие от других языков программирования, подчеркивает удобочитаемость кода и позволяет использовать английские ключевые слова вместо знаков пунктуации… Читаемая и чистая база кода поможет вам поддерживать и обновлять программное обеспечение, не тратя лишнего времени. и усилия.”

По словам учителя Python Treehouse Кеннета Лав (эта цитата взята из видео ниже): «Это практически повсюду. Он очень маленький, поэтому появляется на встроенных устройствах и практически на каждом сервере «.

И под словом везде мы имеем в виду везде. Treehouse указывает, что Disqus, NASA, PBS и даже Reddit используют Python для своих веб-сайтов.

Поскольку Python имеет предварительно созданные библиотеки и веб-фреймворки, включая Pyramid, Django и Flask, он особенно хорош для использования в проектах внутренней веб-разработки, сокращая время, которое вы тратите на проекты, позволяя вам перепрофилировать фрагменты кода.

2. Научные вычисления + наука о данных

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

  • Астропия для астрономии
  • Биопайтон для биологии и биоинформатики
  • Graph-инструмент для статистического анализа графиков
  • Психопия для нейробиологии и экспериментальной психологии

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

3. Машинное обучение

Да, технически машинное обучение относится к науке о данных (№2 в нашем списке), но терпите меня. Использование Python для машинного обучения — это довольно круто, поэтому казалось, что это требует дополнительной позиции.

Машинное обучение включает в себя такие вещи, как распознавание речи, финансовые услуги и даже рекомендации, которые Netflix предлагает каждый раз, когда вы входите в систему, которые заставляют вас думать: «Откуда они знают ?!» (Хотя, забавный факт: в Netflix также есть команда, которая вручную помечает видео.)

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

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

Подходит ли вам технология? Пройдите нашу 3-минутную викторину!

Ты выучишь: Если вам подходит карьера в сфере технологий Какая техническая карьера соответствует вашим сильным сторонам? Какие навыки вам понадобятся для достижения ваших целей

4.Стартапы

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

Dropbox появился, когда Дрю Хьюстон в студенческие годы постоянно забывал о своей флешке. Изначально это было решение, которое он мог использовать для себя, в группе из одного человека. К ноябрю 2012 года 100 миллионов человек использовали Dropbox, что не было проблемой, потому что… Dropbox был построен на Python.Это означало, что масштабировать Dropbox было легко, когда вторая идея Хьюстона обернулась довольно большим успехом. (Источник)

5. FinTech + финансовая индустрия

В 2016 году HackerRank опубликовал обзор различных отраслей, в котором выяснилось, каким языкам программирования они отдают предпочтение при приеме на работу разработчиков, программистов и инженеров. Когда дело дошло до FinTech, Python доминировал в пачке:

Итак: Хотите работу в Venmo? Python, вероятно, лучший вариант. (Гм.)

Но это не только финтех-компании.Опять же, согласно HackerRank, Python используется повсюду в финансовой индустрии: «Рекрутеры финансовых технологий скажут вам, что Python — это самый быстрорастущий язык в финансах в целом. Если вы посмотрите на финансовых технологии, крупные банки, как Банк Америки работали над преобразованием их технологии стек из унаследованного кода на Python «.

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

(вверх )

Как мне изучить Python?

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

Онлайн-классы и ресурсы Python

(вверх)

Подходит ли вам технология? Пройдите нашу 3-минутную викторину!

Ты выучишь: Если вам подходит карьера в сфере технологий Какая техническая карьера соответствует вашим сильным сторонам? Какие навыки вам понадобятся для достижения ваших целей

Какой язык программирования лучший?

Супермен vs.Бэтмен. Звездные войны против Звездный путь . Кока-кола против Пепси. Выбор между Java и Python на самом деле не является таким соперничеством — у этих двух языков обычно разные варианты использования и фан-базы. На самом деле они настолько разные, что в Instagram превратились в ботаническую метафору романтической несовместимости:

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

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

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

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

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

Эти структурные различия могут повлиять на то, как программисты видят языки, и на скорость, с которой программист может их печатать. Теоретически они также влияют на уровень навыков, необходимых для изучения языка. Однако в большинстве случаев проблема действительно сводится к личным предпочтениям. Более того, возможно, многие разработчики полагаются на IDE, среды кодирования и шаблоны, что делает проблему гораздо менее важной.

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

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

Тенденции в Java и Python

Хотя Java и не так модно, как когда-то, он по-прежнему остается самым популярным языком программирования практически по всем параметрам.С другой стороны, рост Python был астрономическим, особенно в развитых странах с высоким уровнем дохода. Согласно некоторым источникам, Python в конечном итоге обгонит популярность Java. Причины такого удивительного роста включают продуктивность разработчиков, языковую гибкость, поддержку библиотек, поддержку сообщества и простоту обучения. Python также широко используется в таких горячих областях, как наука о данных и искусственный интеллект, а также в веб-приложениях, настольных приложениях, сетевых серверах и медиа-инструментах.

Между тем популярность

Java, возможно, снизилась из-за ее невысокой репутации в области безопасности. Сайты технических новостей, такие как The Register , восхищаются критикой Java, а The Hill утверждает, что 88% приложений Java имеют проблемы с безопасностью. Конечно, плохая репутация Java во многом объясняется проблемами с подключаемым модулем браузера Java, в остальном проблемы безопасности языка не намного хуже, чем у других языков. В любом случае собственная безопасность Python далека от идеала, но она пользуется лучшей поддержкой в ​​этой области, а простота использования Python может облегчить менее опытным разработчикам защиту своего кода.

Однако было бы неразумно думать о Java как о языке, который «был». Разработчики Java продолжают добавлять новые функции и делать Java меньше, быстрее и гибче, когда дело доходит до крупномасштабной разработки. Мощная виртуальная машина Java (JVM) упрощает создание кроссплатформенных совместимых приложений Java, и Java продолжает преуспевать в создании больших традиционных приложений, которые представляют собой тип кодирования, которым сегодня занимается большинство предприятий — он используется в 90% Fortune 500! Как ни крути, огромная установленная база кода Java-приложений и заданий по программированию на Java никуда не исчезнет в ближайшее время.

Java и Python также используют очень разные модели потоков. Python GIL или Global Interpreter Lock означает, что, в отличие от Java, Python фактически является однопоточным — он может работать только на одном ядре ЦП за раз. С другой стороны, использование графического процессора с Python относительно просто по сравнению с тем же самым действием с Java. Таким образом, хотя это, возможно, еще не стандартная реализация за пределами научных приложений, приложение Python, работающее в массовом параллельном режиме на 5120-ядерном графическом процессоре, скорее всего, превратится в полностью оптимизированное Java-приложение, работающее на 8-ядерном процессоре.

Возможно, из-за широкого диапазона позиций Java-разработчиков в недавнем посте freeCodeCamp отмечалось, что программисты Python обычно зарабатывают больше денег, чем разработчики Java: 116 000 долларов против 102 000 долларов на Indeed и 99 000 долларов против 96 000 долларов на StackOverflow.

Проблема «грамотного программирования»

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

Представление кода также становится все более важным различием между двумя языками. В прошлом разработчики использовали код в основном для создания приложений. Код обычно читался другими разработчиками — и машинами — и долгое время сжатый синтаксис Java имел преимущество.Однако теперь, когда люди с разными взглядами и навыками используют языки программирования для достижения самых разных целей (не обязательно для разработки приложений), вам также необходимо учитывать их потребности и навыки. У Python здесь может быть преимущество, потому что он полностью поддерживает грамотный подход к программированию, первоначально задуманный Стэнфордским ученым-компьютерщиком Дональдом Кнутом.

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

Грамотное программирование выделяется в нескольких областях:

  • Демонстрация
  • Сотрудничество
  • Исследования
  • Обучение
  • Презентация

Python напрямую поддерживает такие среды через IDE, такие как Leo и Jupyter Notebook. Вы также можете добавить эту поддержку в другие редакторы, такие как Atom, используя специальные инструкции.Напротив, при работе в аналогичной среде с использованием Java среда может казаться привязанной, и кривая обучения, как правило, выше.

Сравнение производительности

Некоторые разработчики считают, что «интерпретируемый» всегда означает «медленный». Пользователи Java часто говорят: «Конечно, пишите на Python или как хотите, но когда вам нужно масштабировать приложение, вам придется переписать его на Java».

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

Также важно учитывать, как разные версии языка влияют на производительность.В реальном мире не всегда нужно сравнивать самые свежие версии. Что касается Java, большинство приложений отстают от текущей версии на 2-3 версии. Что касается Python, Python 3.x обычно работает быстрее, чем 2.x, но только с библиотеками, специально оптимизированными для Python 3.x. Поэтому, хотя это может показаться контрпродуктивным, некоторые программисты в области науки о данных (и другие) по-прежнему предпочитают использовать Python 2.x вместо 3.x, чтобы воспользоваться преимуществами определенных библиотек. Обратите внимание, что сообщество Python изо всех сил пытается перейти с 2x на 3x и в настоящее время поддерживает обе вилки.Тем не менее, поскольку Python 2.x подходит к концу, вам понадобится веская причина для выбора Python 2.x для новых проектов.

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

Доля рынка и сообщество

Также, как известно, сложно сравнить относительную популярность различных языков программирования.Но в большинстве попыток ранжировать языки по популярности — либо здесь, в блоге New Relic, либо на таких сайтах, как Tiobe, Java обычно выходит на первое место в целом, а Python не отстает и обычно находится где-то в первой пятерке.

Важно отметить, что оба языка поддерживаются большими и активными сообществами пользователей. Группы пользователей Java (JUG) существуют по всему миру. (Это картографическое приложение позволяет вам найти ближайший к вам JUG.) Java-программисты также могут посещать крупные громкие мероприятия, такие как JavaOne.Сообщество Python также сильно: 1637 групп пользователей Python в 191 городе и 37 странах, в которых участвует более 860 000 участников. События Python варьируются от встреч PyLadies, где женщины могут встречаться и вместе писать код, до PyCon и многих других.

Не пропустите: Самые популярные языки программирования 2017 года

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

Не пропустите: 10 удивительно интересных способов заработать на жизнь с помощью Java

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

Гибкость также имеет значение. При работе с Python у вас есть доступ к нескольким парадигмам программирования, которые вы можете смешивать и сопоставлять по мере необходимости в одном приложении. Java поддерживает только одну парадигму программирования: объектно-ориентированное. Интересно, что Python поддерживает несколько парадигм программирования в одном приложении, что означает, что вы можете использовать конкретную парадигму, которая лучше всего подходит для подзадачи в приложении, вместо того, чтобы полагаться на одну парадигму, независимо от того, лучше ли она отвечает потребностям.

Не пропустите: Использование четырех стилей программирования Python

Поддержка New Relic

Изобретать колесо никогда не бывает весело. Это также пустая трата времени, поэтому библиотеки так популярны как для Java, так и для Python. Разработчики также нуждаются в других формах поддержки, чтобы приложения работали как можно быстрее и продолжали работать должным образом. Один из способов сделать это — использовать агент для мониторинга приложений, но написание агента может занять много времени и привести к ошибкам.В New Relic, конечно же, есть агенты как для Java, так и для Python. Наиболее широко используется агент Java, за ним следует PHP, затем Python. Мы стараемся, чтобы наши агенты работали как можно более единообразно, но агент каждого языка также сообщает конкретные данные, которые важны и уникальны для него.

Java-агент New Relic, например, может помочь вам оптимизировать скорость приложения, отслеживая такие вещи, как классы, которые фактически загружает и выгружает JVM. Это очень важно, поскольку не всегда легко взаимодействовать со скомпилированной средой по сравнению с интерпретируемой средой.Конечно, New Relic также позволяет отслеживать другие проблемы среды Java, такие как сборка мусора. (Для получения дополнительной информации см. Документацию New Relic Java.)

Агент Python New Relic, тем временем, предназначен для использования всех преимуществ среды Python. Например, вы используете pip install для реализации New Relic Agent, что является точно таким же подходом, который используется для каждой библиотеки Python. Агент работает с широким спектром веб-фреймворков и механизмов хостинга, включая Django, Gunicorn, WSGI, CherryPy, uWSGI и другие.Вы также получаете доступ ко всем основным элементам среды Python, включая информацию о сервере. Дополнительную информацию см. В документации Python New Relic.

Многоязычный FTW

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

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

Дополнительные ресурсы
Индекс

| TIOBE — Компания по качеству программного обеспечения


Индекс TIOBE на апрель 2021 года

Заголовок апреля: Игра окончена для Objective-C

Это заняло намного больше времени, чем ожидалось. Язык программирования Objective-C выскользнул из топ-20 индекса TIOBE в этом месяце, и маловероятно, что он вернется в ближайшее время.Около 10 лет назад Objective-C был восходящей звездой в индексе TIOBE, получив награду «Язык года» в 2011 и 2012 годах. В эти дни iPhone от Apple начал быстро расти, и все его приложения были написаны на Objective-C. .

Слава Objective-C внезапно прекратилась, когда в 2014 году Apple объявила о появлении нового языка под названием Swift, который должен заменить Objective-C. Примечательно, что прошло много времени, прежде чем Swift стал более популярным, чем Objective-C. Всего через 7 лет после вынесения смертного приговора Objective-C покидает топ-20.Но надежда на Objective-C еще есть, потому что старые языки иногда наносят ответный удар. Взгляните на Фортран! Этот динозавр вернулся в топ-20 спустя более 10 лет. Fortran был первым в истории коммерческим языком программирования и набирает популярность благодаря огромной потребности в (научном) вычислении чисел. С возвращением, Фортран.

Индекс сообщества программистов TIOBE является показателем популярности программирования. языков. Индекс обновляется раз в месяц. Рейтинги основаны на количестве квалифицированные инженеры со всего мира, курсы и сторонние поставщики.Популярные поисковые системы, такие как Для расчета рейтингов используются Google, Bing, Yahoo !, Википедия, Amazon, YouTube и Baidu. Важно отметить, что индекс TIOBE — это не лучший язык программирования или язык программирования. в котором было написано строк кода .

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



Другие языки программирования

Полные 50 лучших языков программирования перечислены ниже. Этот обзор публикуется неофициально, потому что может случиться так, что мы пропустили какой-то язык. Если у вас сложилось впечатление, что отсутствует язык программирования, сообщите нам на [email protected] Также ознакомьтесь с обзором всех языков программирования, которые мы отслеживаем.

927 912 912 912 912 912 Visual Fox ( 912 912 Visual Fox) 912 927 23%
Позиция Язык программирования Рейтинги
21 SAS 0.89%
22 Царапина 0,68%
23 Objective-C 0,67%
24 COBOL

912 927

927
% 0,61%
26 Scala 0,61%
27 PL / SQL 0,55%
28 2 Transact-SQL 0,5022% 0.49%
30 Ада 0,49%
31 D 0,48%
32 Джулия 0,42% 0,38%
34 Dart 0,38%
35 ABAP 0,35%
36 Lisp .34%
38 Логотип 0,33%
39 Котлин 0,32%
40 LabVIEW%
42 Bash 0,24%
43 VHDL 0,24%
44 Лестничная логика 0,2422
50 TypeScript 0,19%

Следующие 50 языков программирования

В следующем списке языков от # 51 до # 100. Поскольку различия относительно небольшой, языки программирования только перечислены (в алфавитном приказ).

  • 4th Dimension / 4D, ActionScript, Alice, B4X, bc, оболочка Bourne, оболочка C, CFML, Clipper, Clojure, Common Lisp, Crystal, DiBOL, Eiffel, Elm, Erlang, F #, Fantom, Gosu, Hack, Haskell, Icon, Inform, J, оболочка Korn, Maple, MEL, ML, MQL4, NATURAL, NXT-G, OCaml, Occam, OpenCL, OpenEdge ABL, PL / I, PostScript, PureBasic, Q, REXX, Ring, Scheme, Simulink, Small Basic , Solidity, SPARK, SPSS, Tcl, Verilog, Zig

Изменения индекса за месяц

В этом месяце в определение индекса были внесены следующие изменения:

  • Майк Кейзер предложил добавить язык программирования CLIPS.CLIPS подходит для индекса, поэтому он был добавлен в список из 274 языков программирования, которые мы отслеживаем. CLIPS начинается со 110 позиции в индексе TIOBE за этот месяц. Спасибо, Майк!
  • Есть много писем, которые еще нужно обработать. Как только у вас появится больше времени, на вашу почту будет дан ответ. Пожалуйста, проявите терпение.

Очень долгая история

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

927 927

26- 912 912 912 912 927 927
Язык программирования 2021 2016 2011 2006 2001 1996 1991 1986
C 226 226 912 226 912 912 927 912 2 26 912 912 927 912 26 912 1 1 1 1
Java 2 1 1 1 3 30 7 8 27 18
C ++ 4 3 3 3 2 C # 5 4 5 7 11
Visual Basic 9 1227 6 13
JavaScript 7 8 10 10 10
PHP 8 6 4 4 19
R
SQL 10 7 — 912 912 912 912 912 9126 912 27 13 14 16 7 4 2
Ada 36 26 19 16 22 8 8 3
(Визуальный) Базовый 6 6 4 3 3 2 4 912 2 142 9126 22 4 912 примечания здесь:

  1. В приведенной выше таблице есть разница между «Visual Basic» и «(Visual) Basic».До 2010 года термин «(Visual) Basic» относился ко всем возможным диалектам языка Basic, включая Visual Basic. После некоторого обсуждения было решено разделить «(Visual) Basic» на все его диалекты, такие как Visual Basic .NET, Classic Visual Basic, PureBasic и Small Basic, и это лишь некоторые из них. Поскольку Visual Basic .NET стал основной реализацией Visual Basic, теперь он называется «Visual Basic».
  2. Язык программирования SQL давно не фигурирует в индексе TIOBE. В 2018 году кто-то указал, что SQL является полным по Тьюрингу.С этого момента SQL является частью индекса TIOBE. Таким образом, хотя этот язык очень старый, он имеет лишь короткую историю в индексе TIOBE.

Зал славы языков программирования

Зал славы, в котором перечислены все лауреаты премии «Язык программирования года», показан ниже. Награда вручается языку программирования, получившему самый высокий рост рейтингов за год.


Ошибки и запросы на изменение

Это топ-5 наиболее востребованных изменений и ошибок.Если у вас есть предложения по улучшению индекса, не стесняйтесь, отправьте электронное письмо по адресу [email protected]

  1. Помимо «<язык> программирование», следует также опробовать другие запросы, такие как «программирование с помощью <язык>», «<язык> разработка» и «<язык> кодирование».
  2. Добавьте запросы для других естественных языков (кроме английского). Идея состоит в том, чтобы начать с китайской поисковой системы Baidu. Это было реализовано частично и будет завершено в ближайшие несколько месяцев.
  3. Добавьте список всех отклоненных запросов на поисковые запросы. Это сделано для минимизации количества повторяющихся писем о Rails, JQuery, JSP и т. Д.
  4. Запустите индекс TIOBE для баз данных, систем управления конфигурацией программного обеспечения и фреймворков приложений.
  5. Некоторые поисковые системы позволяют запрашивать страницы, добавленные в прошлом году. Индекс TIOBE должен отслеживать только те недавно добавленные страницы.

Часто задаваемые вопросы (FAQ)

  • Q: Могу ли я показывать индекс TIOBE в моем блоге / презентации / публикации?

    A: Да, единственное условие — ссылка на первоисточник www.tiobe.com «.

  • Q: Как я могу назначить новый язык для добавления в индекс TIOBE?

    A: Если язык соответствует критериям включения в список (т.е. он является полным по Тьюрингу и имеет собственную запись в Википедии, которая указывает, что он относится к языку программирования) и он достаточно популярен (более 5000 обращений для программирования + «<язык> «для Google), затем напишите письмо по адресу [email protected]

  • Q: Я хотел бы получить полный набор данных индекса TIOBE.Это возможно?

    A: Мы приложили много усилий, чтобы получить все данные и поддерживать индекс TIOBE в актуальном состоянии. Чтобы немного компенсировать это, мы запрашиваем плату в размере 5000 долларов США за полный набор данных. Набор данных действует с июня 2001 года по сегодняшний день. Это началось с 25 языков еще в 2001 году, и сейчас измеряет более 150 языков один раз в месяц. Данные доступны через запятую. формат. Пожалуйста, свяжитесь с [email protected] для получения дополнительной информации.

  • Q: Почему для расчета рейтинга для группы берется максимум, а почему не сумма?

    A: Что ж, вы можете сделать это любым способом, и оба варианта неверны.Если взять сумму, то получится пересечение дважды. Если брать макс, то упускаете разницу. Какой выбрать? Предположим, кто-то придумал новый поисковый запрос, который составляет 10% оригинал. Если брать макс, ничего не меняется. Если взять сумму, то рейтинг вырастет на 10%. Так взятие суммы будет стимулом для некоторых придумывать всевозможные непонятные термины для языка. Это почему решили брать макс.

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

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

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