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 и некоторые другие. При присваивании атомарных объектов копируется их значение, в то время как для ссылочных копируется только указатель на объект, таким образом, обе переменные после присваивания используют одно и то же значение. Ссылочные объекты бывают изменяемые и неизменяемые. Например, строки и кортежи являются неизменяемыми, а списки, словари и многие другие объекты изменяемыми. Кортеж в Python является, по сути, неизменяемым списком. Во многих случаях кортежи работают быстрее списков. При передаче аргументов в функции Python использует вызов по соиспользованию call by sharing. Альтернативный блок после else иначе. Если условий и альтернатив несколько, можно использовать elif сокр. Внутри цикла возможно применение break и continue для прерывания цикла и перехода сразу к следующей итерации, соответственно. Оператор определения класса class. Марк Саммерфилд Python На Практике 2014© 2017