Python поддерживает несколько парадигм программирования, в том числе структурное, объектно ориентированное, функциональное, императивное и аспектно ориентированное. Основные архитектурные черты динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Python организовывается в функции и классы, которые могут объединяться в модули они в свою очередь могут быть объединены в пакеты. Марк Саммерфилд Python На Практике 2014' title='Марк Саммерфилд Python На Практике 2014' />Эталонной реализацией Python является интерпретатор CPython, поддерживающий большинство активно используемых платформ. Он распространяется под свободной лицензией Python Software Foundation License, позволяющей использовать его без ограничений в любых приложениях, включая проприетарные. Есть реализации интерпретаторов для JVM с возможностью компиляции, MSIL с возможностью компиляции, LLVM и других. Проект Py. Py предлагает реализацию Python с использованием JIT компиляции, которая значительно увеличивает скорость выполнения Python программ. Python активно развивающийся язык программирования, новые версии с добавлениемизменением языковых свойств выходят примерно раз в два с половиной года. Марк Саммерфилд Python На Практике 2014' title='Марк Саммерфилд Python На Практике 2014' />Python МФА. Марк Саммерфилд. Python на практике. Марк Саммерфилд хорошо известен сообществу Python своими техническими. Книга Python на практике полна таких полезных советов и при. Вследствие этого и некоторых других причин на Python отсутствуют стандарт ANSI, ISO или другие официальные стандарты, их роль выполняет CPython. Разработчики языка Python придерживаются определнной философии программирования, называемой The Zen of Python Дзен Питона, или Дзен Пайтона. Е текст выдатся интерпретатором Python по команде import this работает один раз за сессию. Автором этой философии считается Тим Петерс Tim Peters. Текст философии Красивое лучше, чем уродливое. Явное лучше, чем неявное. Простое лучше, чем сложное. Сложное лучше, чем запутанное. Плоское лучше, чем вложенное. Разреженное лучше, чем плотное. Читаемость имеет значение. Особые случаи не настолько особые, чтобы нарушать правила. Марк Саммерфилд Python На Практике 2014' title='Марк Саммерфилд Python На Практике 2014' />При этом практичность важнее безупречности. Ошибки никогда не должны замалчиваться. Марк Саммерфилд Python На Практике 2014' title='Марк Саммерфилд Python На Практике 2014' />Если не замалчиваются явно. Встретив двусмысленность, отбрось искушение угадать. Должен существовать один и, желательно, только один очевидный способ сделать это. Хотя он поначалу может быть и не очевиден, если вы не голландец Будем делать их побольше Оригинальный текст англ. 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 arent 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 youre Dutch. Now is better than never. Although never is often better than right now. If the implementation is hard to explain, its a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea lets do more of those Разработка языка Python была начата в конце 1. Для распределнной ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию. В феврале 1. 99. 1 года Гвидо опубликовал исходный текст в группе новостей alt. С самого начала Python проектировался как объектно ориентированный язык. Название языка произошло вовсе не от вида пресмыкающихся. Международный Договор Подряда на этой странице. Автор назвал язык в честь популярного британского комедийного телешоу 1. Летающий цирк Монти Пайтона. Впрочем, вс равно название языка чаще связывают именно со змей, нежели с передачей пиктограммы файлов в KDE или в Microsoft Windows и даже эмблема на сайте python. Важная цель разработчиков Python создавать его забавным для использования. Это отражено в его названии, которое пришло из Монти Пайтона. Также это отражено в иногда игривом подходе к обучающим программам и справочным материалам, таким как примеры использования, которые используют понятия спама. Развитие языка происходит согласно чтко регламентированному процессу создания, обсуждения, отбора и реализации документов PEP англ. Python Enhancement Proposal предложений по развитию Python. В Python 3. 00. 0 устранены многие недостатки архитектуры с максимально возможным но не полным сохранением совместимости со старыми версиями Python. На сегодня поддерживаются обе ветви развития Python 3. Появившись сравнительно поздно, Python создавался под влиянием множества языков программирования ABC отступы для группировки операторов, высокоуровневые структуры данных map. Существуют порты под Microsoft Windows, практически все варианты UNIX включая Free. BSD и Linux, Plan 9, Mac OS и Mac OS X, i. Phone OS 2. 0 и выше, Palm OS, OS2, Amiga, Haiku. OS, AS4. 00 и даже OS3. Windows Mobile, Symbian и Android. Например, с серии 2. Windows 9. 5, Windows 9. Windows ME. Однако на этих платформах можно использовать предыдущие версии Python на данный момент сообщество активно поддерживает версии Python начиная от 2. При этом, в отличие от многих портируемых систем, для всех основных платформ Python имеет поддержку характерных для данной платформы технологий например, Microsoft COMDCOM. Более того, существует специальная версия Python для виртуальной машины Java Jython, что позволяет интерпретатору выполняться на любой системе, поддерживающей Java, при этом классы Java могут непосредственно использоваться из Python и даже быть написанными на Python. Также несколько проектов обеспечивают интеграцию с платформой Microsoft. NET, основные из которых Iron. Python и Python. Net. Python поддерживает динамическую типизацию, то есть тип переменной определяется только во время исполнения. Поэтому вместо присваивания значения переменной лучше говорить о связывании значения с некоторым именем. В Python имеются встроенные типы булевый, строка, Unicode строка, целое число произвольной точности, число с плавающей запятой, комплексное число и некоторые другие. Из коллекций в Python встроены список, кортеж неизменяемый список, словарь, множество и другие. Все значения являются объектами, в том числе функции, методы, модули, классы. Добавить новый тип можно либо написав класс class, либо определив новый тип в модуле расширения например, написанном на языке C. Система классов поддерживает наследование одиночное и множественное и метапрограммирование. Возможно наследование от большинства встроенных типов и типов расширений. Все объекты делятся на ссылочные и атомарные. К атомарным относятся int, long в версии 3 любое число int, так как в версии 3 нет ограничения на размер, complex и некоторые другие. При присваивании атомарных объектов копируется их значение, в то время как для ссылочных копируется только указатель на объект, таким образом, обе переменные после присваивания используют одно и то же значение. Ссылочные объекты бывают изменяемые и неизменяемые.