Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

В чем сильные стороны Python?

Естественно - это вопрос разработчика. Если у вас еще нет опыта 

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

непонятным, но не волнуйтесь, мы будем рассматривать все эти термины 

позднее, в ходе изложения материала. А для разработчиков ниже приводится 

краткое введение в некоторые особенности языка Python.

Python 3 объектно-ориентированный

Python изначально является объектно-ориентированным языком 

программирования. Его объектная модель поддерживает такие понятия, как 

полиморфизм, перегрузка операторов и множественное наследование, однако, 

учитывая простоту синтаксиса и типизации Python, ООП не вызывает сложностей

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

изучать Python гораздо легче, чем другие объектно-ориентированные языки

программирования.

Объектно-ориентированная природа Python, являясь мощным средством

структурирования программного кода многократного пользования, кроме

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

объектно-ориентированных языков, таких как C++ и Java. Например, при 

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

языке Python могут использовать механизм наследования от классов, 

реализованных на C++, Java и С#.

Как бы то ни было, но ООП не является обязательным в Python; вы 

сможете стать опытным программистом и при этом не быть специалистом по ООП.

Как и C++, Python поддерживает оба стиля программирования - процедурный

и объектно-ориентированный. Объектно-ориентированные механизмы могут

использоваться по мере необходимости. Это особенно удобно при решении 

тактических задач, когда отсутствует фаза проектирования.

Python 3 свободный

Python может использоваться и распространяться совершенно бесплатно. Как

и в случае с другими открытыми программными продуктами, такими как Tel,

Perl, Linux и Apache, вы сможете получить в Интернете полные исходные 

тексты реализации Python. Нет никаких ограничений на его копирование, 

встраивание в свои системы или распространение в составе ваших продуктов. 

Фактически вы сможете даже продавать исходные тексты Python, если появится

такое желание.

Но «свободный» не означает «не поддерживается». Напротив, сообщество

сторонников Python в Интернете отвечает на вопросы пользователей со 

скоростью, которой могли бы позавидовать большинство разработчиков 

коммерческих продуктов. Кроме того, свободное распространение исходных текстов

Python способствует расширению команды экспертов по реализации. И хотя

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

программирования не у всех вызывает восторг, тем не менее, наличие последней

инстанции в виде исходных текстов придает уверенность. Вы уже не зависите

от прихотей коммерческого производителя - в вашем распоряжении 

находится полный комплект исчерпывающей документации.

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

которого координируются в основном через Интернет. ,В состав сообщества

входит создатель Python - Гвидо ван Россум (Guido van Rossum), получивший

официальное звание Пожизненного Великодушного Диктатора (Benevolent

Dictator for Life, BDFL) Python, плюс тысячи других разработчиков. 

Изменения в языке принимаются только после прохождения формальной процедуры

(известной как «программа совершенствования продукта», или PEP) и 

тщательно проверяются формальной системой тестирования и самим 

Пожизненным Диктатором. Это обеспечивает большую степень консерватизма Python

в отношении изменений, по сравнению с некоторыми другими языками 

программирования.

Python 3 переносим

Стандартная реализация языка Python написана на переносимом ANSI С,

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

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

самом широком спектре устройств, начиная от наладонных компьютеров (PDA)

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

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

• Операционные системы Linux и UNIX

• • Microsoft Windows и DOS (все современные версии)

• Mac OS (обе разновидности: OS X и Classic)

• BeOS, OS/2, VMS и QNX

• Системы реального времени, такие как VxWorks

• Суперкомпьютеры Cray и ЭВМ производства компании IBM

• Наладонные компьютеры, работающие под управлением PalmOS, PocketPC

или Linux

• Сотовые телефоны, работающие под управлением операционных систем

Symbian и Windows Mobile

• Игровые консоли и iPod

• И многие другие

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

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

способом. Кроме того, программы на языке Python компилируются в 

переносимый байт-код, который одинаково хорошо работает на любых платформах,

где установлена совместимая версия Python (подробнее об этом будет 

рассказываться в следующей главе).

Все это означает, что программы на языке Python, использующие основные

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

Linux, и в Windows, и в любых других операционных системах, где установлен

интерпретатор Python. В большинстве реализаций Python под определенные

операционные системы имеется также поддержка специфических 

механизмов этих систем (например, поддержка СОМ в Windows), но ядро языка Python

и библиотеки работают совершенно одинаково в любой системе. Как уже 

говорилось выше, Python включает в себя средства создания графического 

интерфейса Tk GUI под названием tkinter (Tkinter в Python 2.6), что позволяет

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

со всеми основными графическими платформами без индивидуальной 

программной настройки.

Python 3 мощный

С точки зрения функциональных возможностей Python можно назвать 

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

традиционными языками сценариев (такими как Tel, Scheme и Perl) и языками 

разработки программных систем (такими как С, C++ и Java). Python обеспечивает

простоту и непринужденность языка сценариев и мощь, которую обычно 

можно найти в компилирующих языках. Превышая возможности других языков

сценариев, такая комбинация делает Python удобным средством разработки

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

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

Динамическая типизация

Python сам следит за типами объектов, используемых в программе, 

благодаря чему не требуется писать длинные и сложные объявления в 

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

вообще отсутствуют понятие типа и необходимость объявления 

переменных. Так как программный код на языке Python не стеснен рамками типов

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

Автоматическое управление памятью

Python автоматически распределяет память под объекты и освобождает ее

(«сборка мусора»), когда объекты становятся ненужными. Большинство

объектов могут увеличивать и уменьшать занимаемый объем памяти по

мере необходимости. Как вы узнаете, Python сам производит все 

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

Модульное программирование

Для создания крупных систем Python предоставляет такие возможности,

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

составляющие, применять ООП для создания программного кода 

многократного пользования и элегантно обрабатывать возникающие события и ошибки.

Встроенные типы объектов

Python предоставляет наиболее типичные структуры данных, такие как

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

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

высокой гибкостью и удобством. Например, встроенные объекты могут 

расширяться и сжиматься по мере необходимости, могут комбинироваться

друг с другом для представления данных со сложной структурой и многое

другое.

Встроенные инструменты

Для работы со всеми этими типами объектов в составе Python имеются

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

конкатенация (объединение коллекций), получение срезов (извлечение части 

коллекции), сортировка, отображение и многое другое.

Библиотеки утилит

Для выполнения более узких задач в состав Python также входит большая

коллекция библиотечных инструментов, которые поддерживают практиче-

ски все, что только может потребоваться, - от поиска с использованием 

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

Python - это то место, где выполняется большая часть операций.

Утилиты сторонних разработчиков

Python - это открытый программный продукт и поэтому разработчики

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

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

В Сети вы найдете свободную реализацию поддержки СОМ, средств для 

работы с изображениями, распределенных объектов CORBA, XML, 

механизмов доступа к базам данных и многое другое.

Несмотря на широкие возможности, Python имеет чрезвычайно простой 

синтаксис и архитектуру. В результате мы имеем мощный инструмент 

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

Python 3 соединяемый

Программы на языке Python с легкостью могут «склеиваться» с 

компонентами, написанными на других языках программирования. Например, 

прикладной интерфейс С API в Python позволяет программам на языке С вызывать

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

можете расширять возможности программ на языке Python и использовать

программный код на языке Python в других языковых средах и системах.

Возможность смешивать Python с библиотеками, написанными на таких 

языках, как С или C++, например, превращает его в удобный язык для создания

интерфейсов к этим библиотекам и в средство настройки программных 

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

средством разработки прототипов - система может быть сначала реализована на

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

от требований к производительности системы по частям перенесена на язык С.

Python 3 удобен

Чтобы запустить программу на языке Python, достаточно просто ввести ее

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

это делается в языках программирования, подобных С или C++. 

Интерпретатор Python немедленно выполняет программу, что позволяет производить

программирование в интерактивном режиме и получать результаты сразу же

после внесения изменений - в большинстве случаев вы сможете наблюдать 

эффект изменения программы с той скоростью, с которой вы вводите изменения

с клавиатуры.

Безусловно, скорость разработки - это лишь один из аспектов удобства Python.

Кроме того, он обеспечивает чрезвычайно простой синтаксис и набор мощных

встроенных инструментов. Поэтому некоторые даже называют Python 

«исполняемым псевдокодом». Поскольку большая часть сложностей ликвидируется

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

эквивалентных им программ, написанных на таких языках, как С, C++ и Java!

Python 3 прост в изучении

Это самый важный аспект данной книги: по сравнению с другими языками

программирования базовый язык Python очень легко запоминается. В 

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

программы уже через несколько дней (или даже через несколько часов, если вы

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

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

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

программным продуктом.

Сегодня многие системы исходят из того, что конечные пользователи могут

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

свой собственный программный код настройки системы при незначительной

поддержке со стороны разработчика. И хотя в Python имеются сложные 

инструменты программирования, основа языка по-прежнему остается простой

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

Python 3 назван в честь Монти Пайтона

Это не имеет отношения к технической стороне дела, но похоже, что эта 

тайна, которую я собираюсь открыть, на удивление хорошо охраняется. Несмотря

на то, что на эмблеме Python изображена рептилия, правда состоит в том, что

создатель Python, Гвидо ван Россум, назвал свое детище в честь 

комедийного сериала «Летающий цирк Монти Пайтона» (Monty Python's Flying Circus),

который транслировался по телеканалу ВВС. Он большой поклонник Монти

Пайтона, как и многие программисты (похоже, что между разработкой 

программного обеспечения и цирком есть что-то общее).

Это обстоятельство неизбежно добавляет юмора в примеры программного кода

на языке Python. Например, традиционные имена переменных «foo» и «bar»,

в языке Python превратились в «spam» и «eggs». Встречающиеся иногда имена

«Brian», «ni» и «shrubbery», точно также появились благодаря своим тезкам.

Это даже оказывает влияние на сообщество в целом: дискуссии на 

конференциях по языку Python обычно именуются «Испанская инквизиция».

Все это, конечно, очень забавно, если вы знакомы с сериалом, в противном 

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

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

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

«Learning Python, Fourth Edition, by
Mark Lutz. Copyright 2009 O'Reilly Media, Inc., 978-0-596-15806-4».

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

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

(обязательно)