Новые фичи Python 3.8

14 Октября 2019 года вышла новая версия языка Python под номером 3.8, содержащая множество мелких улучшений и оптимизаций, которые делают новую версию быстрее чем ее предшественники.  Эта заметка охватывает наиболее интересные изменения в языке. Новый оператор “Морж” (Walrus) Начиная с версии 3.8 вводится новый оператор присваивания, который позволяет одновременно с…

подробнее

Скрыть показать элемент без JavaScript

Вариант со скрытым чек боксом:

Создает скрытый checkbox, для того, что бы изменять состояние checkbox к нему присоединяется метка, которая и будут фактически переключателем, по щелчку на котором происходит открытие или закрытие компонента. Вариант с hover(открытие при наведении)

В этом примере стоит отметить, что блок виден только…

подробнее

Создание произвольных фигур с заливкой в Kivy

Возникла у меня необходимость нарисовать некоторую произвольную фигуру и залить ее определенным цветом. Обратившись к документации kivy нашел несколько способов рисования: Применение классов Rectangle, Ellipse, Triangle – при создании экземпляров которых в контексте canvas происходит рисование указанной фигуры по заданным координатам и с заданным размером. Например Rectangle(pos=pos, size=size). При этом…

подробнее

Магия __slots__

В Python каждый класс может иметь атрибуты экземпляра. По умолчанию Python использует dict для хранения атрибутов экземпляра объекта. Это действительно полезно, поскольку позволяет создавать произвольные новые атрибуты во время выполнения. Однако для небольших классов с заранее известным набором атрибутов это может стать узким местом. Так как dict расходует много оперативной…

подробнее

DJANGO консоль

Замечание про создание пользователей: Изменить пароль можно командой (если виртуальное окружение то из него):python manage.py changepassword valukh Создание пользователей из консоли:

подробнее

DJANGO установка на сервере

Первое что нужно это установить python и pip.  Далее устанавливаем систему виртуального окружения: 

Создаем виртуальное окружение, где будет работать наше приложение (при этом у данного приложения будет собственная копия питона и всех необходимых ему библиотек).

Активация виртуального окружения, из которого потом и будут выполнятся все команды по запуску…

подробнее

Asyncio & tkinter

Я создал asyncio event_loop в главном потоке и передал его в качестве аргумента потоку asyncio. Теперь Tkinter не будет зависать, пока получаются URL-адреса.

 

подробнее

Использование модуля REQUESTS для получения больших файлов

При загрузке больших файлов мы, предпочтительно использовать режим потоковой передачи при выполнении вызова get. Если мы используем параметр stream и устанавливаем его в True, загрузка не начнется немедленно. Загрузка файла начнется, когда мы попытаемся получить доступ к свойству контента или попытаться перебрать контент, используя iter_content / iter_lines. Если для потока…

подробнее

PYTHON ASYNCIO: цикл событий и FUTURE, TASK

Цикл событий (Event Loop) Цикл событий – это цикл, который может: регистрировать задачи для выполнения, выполняет их, задерживает или даже отменяет их и обрабатывать различные события, связанные с этими операциями. Обычно мы планируем несколько асинхронных функций в цикле событий. Цикл запускает одну функцию, в то время как эта функция ожидает…

подробнее

Генераторы, корутины, встроенные корутины, await/async

Генераторы Генератор это функция которая создает наборы значений. Обычная функция возвращает одно значение и после этого ее состояние уничтожается. Когда мы вызовем ее снова, выполнение начинается сначала и продолжается до возврата значение. Другими словами функция обеспечивает однократное выполнение. Но с генераторами Вы можете создать значение (ключевое слово yield) и поставить…

подробнее