Обращения к атрибутам: __getattr__ и __setattr__ в Python

Метод __getattr__ выполняет операцию получения ссылки на атрибут. Если говорить более определенно, он вызывается с именем атрибута в виде строки всякий раз, когда обнаруживается попытка получить ссылку на неопределенный(несуществующий) атрибут.

Этот метод не вызывается, если интерпретатор может обнаружить атрибут посредством выполнения процедуры поиска в дереве наследования. Вследствие этого метод __getattr__ удобно использовать для обобщенной обработки запросов к атрибутам. Например: Continue reading

Операция вызова: __call__ в Python

Метод __call__ вызывается при обращении к экземпляру как к функции. Это не повторяющееся определение — если метод __call__ присутствует, интерпретатор будет вызвать его, когда экземпляр вызывается как функция, передавая ему любые позиционные и именованные аргументы:

Выражаясь более формальным языком, метод __call__ поддерживает все схемы передачи аргументов. Все что передается экземпляру, передается этому методу наряду с обычным аргументом self, в котором передается сам экземпляр. Например, следующие определения метода: Continue reading

Кодирование строк символов ASCII в Python

Рассмотрим несколько примеров, демонстрирующих основы кодирования строк в Python. Строки символов ASCII являются простейшей разновидностью строк символов Юникода, которые хранятся как последовательности байтов, представляющих символы: Continue reading

Модуль cgi Python

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

Экземпляр ука­занного класса включает объект, напоминающий словарь, который содержит набор пар «ключ значение». Ключами являются имена элементов ввода, передаваемых из заполненной формы. Значения содержат соответствующие данные. Continue reading

Введение в интерфейс CGI Python

Изначально веб разрабатывался как глобальный оперативный репозитарий, или архив документов (главным образом для образовательных и научных учреждений). При этом информация в основном была представлена в текстовой форме, как прави­ло, с разметкой НТМL.

Язык НТМL можно рассматривать как инструмент форматирования текста, позво­ляющий задавать шрифты, размеры и стили. Основной особенностью НТМL явля­ется поддержка гипертекста. Под этим подразумевается возможность использовать определенный текст (обычно как-то выделенный) или даже графические элементы в качестве ссылок, указывающих на другие документы или на места в Интернете и в веб, которые связаны с контекстом оригинала.

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

Шифрование строк с помощью модуля hashlib Python

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

Модуль предоставляет следующие функции: md5(), sha1(), sha224(), sha256(), sha384 и sha512(). В качестве необязательного параметра функциям можно передать шифруемую последовательность байтов. Например: Continue reading

Тип данных bytearray Python

Тип данных bytearray является разновидностью типа bytes и поддерживает те же самые методы и операции. В отличие от типа bytes, тип bytearray допускает возможность непо­средственного изменения объекта и содержит дополнительные методы, позволяющие вы­полнять эти изменения.

Создать объект типа bytearray можно следующими способами:

С помощью функции bytearray([<Строка>, <Кодировка>[, <Обработка ошибок>]]). Если параметры не указаны, то возвращается пустой объект. Чтобы преобразовать строку в объект типа bytearray, необходимо передать минимум два первых параметра. Если строка указана только в первом параметре, то возбуждается исключение TypeError. Continue reading

Аналазатор длины текста Python

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

Правильный выбор имен переменных в Python

Будучи единоличным хозяином своей программы, вы вправе выбирать имена пе­ременным. В прошлой статье я решил назвать переменную name, но с тем же успехом можно было бы ее именовать human, nickname или даже omega12345666: работа программы нисколько не изменилась бы.

Для создания корректных имен перемен­ных надо следовать всего нескольким правилам; о некорректном имени Python вам сообщит, выведя ошибку. Continue reading

Создание переменных в Python

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

Это все равно что звонить другу по мобильному телефону. С точки зрения звонящего, совершенно неважно, где сейчас нахо­дится адресат звонка. Несколько нажатий клавиши вот вы уже беседуете. Continue reading