Как работают иерархии классов в Python (часть 2)

В первой части мы разобрали, основы того, как происходит вызов классов в иерархии Python. Давайте же рассмотрим обещанные интересности.  Отсутствие обращения к родителю Изменим пример из первой части. Пускай класс B полностью реализует всю функциональность без обращения к родителю (я не призываю так делать без четкого осознания, что вы делаете…

подробнее

Как работают иерархии классов в Python (часть 1)

Давайте разберемся как работает вызов иерархических методов в Python. Для начала самый простой вариант (в котором все понятно): Есть иерархия классов (А это корень иерархии), заним потомки B и C, и самый низ иерархии D и E. Суть примера в том, что каждый из потомков вносит какое то изменение в…

подробнее

Начальные настройки DJANGO проекта

На старте разработки неплохо настроить MEDIA и STATIC отображения. Для этого немного изменяем конфиги проекта. В файл urls.py в конец добавляем строки:

В файл settings.py

Еще один момент если есть желание вынести шаблоны за пределы отдельных приложений, а сделать каталог на весь проект, то тогда следующая конфигурация (она…

подробнее

Python decorator and @property

Вы используете свойства (@property) в классах?Удобная штука, скажу я вам! Но работают они только для инстансов класса. Вот простой пример: class A:@propertydef prop(self):return 10 Создаём класс и получаем значение свойства >>> a = A()>>> a.prop10 А что будет если вызвать свойство у класса >>> A.prop<property object at 0x000…318>Как сделать подобие…

подробнее

Python custom json сераиализатор

Иногда хочется чтобы в качестве объекта передачи данных был удобный класс но не хочется (или нет возможности) писать сераиализатор в JSON для него. Идеально было бы сделать класс, который сам умел бы сериализоваться в JSON дефолтным модулем без указания дополнительных сериализаторов.Как это сделать? Стандартный модуль JSON умеет правильно сериализовать стандартные…

подробнее

Начальное заначене для Create/Update View в Django

Как то раз мне понадобилось начальные данные в форму создания. Это решилось довольно просто переопределением метода get_initial

подробнее

Запуск процессов и выполнение внешних команд в python

В питоне есть модуль subprocess который предоставляет средства запуска внешних процессов и выполнения команд оболочки. Для выполнения некоторых команд без необходимости перехвата их вывода можно использовать функцию run.

В результате выполнения кода выше будет выведен статус возврата команды оповещающий о результате ее выполнения (с ошибкой или без). Стоит также…

подробнее

Шпаргалка по Pandas

Series Структура/объект Series представляет из себя объект, похожий на одномерный массив (питоновский список, например), но отличительной его чертой является наличие ассоциированных меток, т.н. индексов, вдоль каждого элемента из списка. Такая особенность превращает его в ассоциативный массив или словарь в Python. У объекта Series есть атрибуты через которые можно получить список…

подробнее

Создание форм из моделей¶

Класс ModelForm Если вы создаете приложение, управляемое базой данных, скорее всего, у вас будут формы, которые тесно связаны с моделями Django. Например, у вас может быть модель BlogComment, и вы хотите создать форму, которая позволяет людям отправлять комментарии. В этом случае было бы излишним определять типы полей в вашей форме,…

подробнее