Python — основные концепции

CAD обзор
Python - основные концепции

Введение.

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

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

Среди современных языков Python в основном можно сравнить с Java и Perl. Python выполняет все обещания, которые Java обещала, но не выполнила. Python отличается высокой переносимостью. Он работает на всех платформах, включая Java. Вряд ли найдется платформа, на которую не был бы перенесен Python. Конечно, я не имею в виду UNIX или Windows &#8212- такие платформы, как Mac, Amiga, Palm, RiscOS и AS/400, гораздо интереснее, когда речь идет о переносимости. Для заядлых любителей Java существует Jython. Он состоит из двух частей: во-первых, интерпретатора Pyhon, написанного на Java, и, во-вторых, компилятора байткода с Python на Java. Сравнение с Perl —Python как язык примерно эквивалентен Python, но избегает многих раздражений и трудностей Perl. Python имеет богатую стандартную библиотеку и множество модулей, доступных в интернете. Для пользователей Windows существует пакет win32, который обеспечивает доступ почти ко всем API Windows, функциям DDE и COM.

ЧИТАТЬ ЕЩЁ:  Web 2.0 - Что это

Существует группа русскоязычных пользователей Python и Zope. Веб-сайт группыhttp://zope.net.ru/. Чтобы подписаться на список рассылки, отправьте письмо с темой subscribe python по адресу [email protected]

Основные структуры управления

Python — это довольно распространенный, можно сказать &171;традиционный&#187?язык программирования. В нем есть все обычные управляющие структуры &#8212- циклы if, for и while, функции, классы, модули и пакеты (иерархический набор модулей). Никаких циклов do-while или операторов case.

Вызывает —исключения &#8212- менее традиционных операторов и перехватывает их с помощью try-except-else и try-finally. Исключения не являются революционными, поскольку они начинают занимать свое место в других современных языках.

В Python многих удивляет, что блочные конструкции имеют отступы, а не начало/конец (или круглые скобки). Однако это быстро становится обычным и очень полезным.

Основные типы данных

Существует несколько интерпретаторов, созданных для языка Python. Далее описывается основной интерпретатор CPython (интерпретатор, написанный на языке C).

Этот интерпретатор имеет основные (встроенные) типы данных —. Integer, Long Integer, Real, Complex, String, List, Tuple и Dictionary.

Целые числа Python соответствуют длинному типу компилятора C, на котором скомпилирован интерпретатор. Замечательные целые числа — которые имеют потенциально бесконечную длину и на таких числах можно выполнять неограниченное количество вычислений. Большие целые числа усваиваются библиотеками, встроенными в интерпретатор. REAL соответствует типу double. Комплексные числа — которые представляют собой пары действительных чисел, записанных механическим (не математическим) письмом: 21 + 12J.

Строки — Это просто последовательности символов. Строки доступны в ASCII и Unicode и могут быть введены заново. Строки ASCII также могут быть преобразованы в другую кодировку (например, KOI8< => win1251).

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

ЧИТАТЬ ЕЩЁ:  MySQL против PostgreSQL

Словарь (корреляционная таблица) — это соответствие, которое сопоставляет любой объект с уникальным ключом. Ключи в словаре — это неизменные объекты.

Переменные и неизменные объекты — числовые адреса и отчеты

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

В Python нет числовых адресов. Их вообще нет. Поэтому изменить нулевой индекс просто невозможно. В Python есть ссылки (индикаторы), но работа с ними прозрачна для разработчика. Фактически, все переменные в Python являются ссылками на объекты. Например, запись a = b означает копирование отчета из b « в переменную b & # 187. Кроме того, списки и словари хранят не объекты, а ссылки на объекты. Рефералы назначаются и удаляются автоматически.

Каждый объект Python хранит эталонный счетчик, и этот счетчик увеличивается по мере копирования отчетов. Счетчик ссылок объекта, перед которым появляется переменная A —. Когда число достигает 0, объект считается неиспользуемым, вызывается разрушитель (для экземпляров классов с разрушителями) и объект освобождается.

Этот механизм называется « современная сборка мусора со счетчиком ссылок » Python также имеет асинхронный сборщик мусора. Преимуществом этого метода является распознавание круговых ссылок, объектов с различными ссылками (не из циклов). (Пример круговой ссылки: l = []; l.Append(l))

Давайте подробнее рассмотрим отчетность в Python. Создайте список (точнее, присвойте ссылки) переменная a = [21, 12, «str»] Затем присвойте ссылку из A переменной B: a = b. Измените список: a, например. Добавьте содержимое другого листинга: a += [2000]. В каком каталоге находится b? A & #8212- это то же самое, что и список из четырех элементов. Это происходит потому, что B хранит ссылку на тот же список, что и A. Затем присвойте A значение a, a = [12, 21]. Что находится в b? Остается тот же список, содержащий четыре элемента. Связь между A и B прервана. Переменная A упоминается в новом списке, а переменная B по-прежнему упоминается в том же списке.

ЧИТАТЬ ЕЩЁ:  7 наиболее востребованных языков программирования

Если A — является переменной, содержащей ссылку на список, а присваивание b = a копирует только отчет на тот же список, то можно ли скопировать сам список? Короткий ответ: — Да, вы можете. Однако все не так просто. В конце концов, сам список хранит не объекты, а ссылки на них. Нужно ли копировать эти отчеты или сами объекты? В Python есть два ответа на этот вопрос. Вы можете сделать и то, и другое. Первый вариант копирования — —, а второй —.#171;поверхностным» второй — &.#171;глубоким» копия. Deep Copy учитывает циркулярные отчеты. Классы, написанные разработчиком, могут определять методы, задействованные в копировании.#171;помогая» Скопируйте процесс так, чтобы копия не содержала ненужной информации.

Неизмененные объекты обрабатываются путем создания новых объектов. Например, если необходимо заменить символ в строке, исходная строка разбивается на две подстроки и создается новая строка (плюс новый символ). Если переменная A обозначает целое число, то ACT A += 1 обозначает новое числовое значение a.

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