Just Python
10.2K subscribers
4.39K photos
11 videos
4.38K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Необычные приёмы нарезки списков на Python

Получение части элементов из списка является распространённым требованием. В Python оператор slice состоит из трёх компонентов.

“start”: начальный индекс (значение по умолчанию равно 0).
“end”: конечный индекс (значение по умолчанию - длина списка).
“step”: определяет размер шага при итерациях по списку (значение по умолчанию равно 1).

#theory // Just Python
Статические методы в Python

Статические методы - это методы, которые не требуют создания экземпляра класса для вызова.
Они не имеют доступа к атрибутам и другим методам экземпляра класса и объявляются с помощью декоратора @staticmethod.

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

Как видно из примера, статические методы позволяют удобно организовывать функционал, связанный с обработкой строк, в класс StringUtils, не создавая отдельных объектов.

#theory // Just Python
Создание QR-кода

Данный код позволяет создать QR-код из указанной URL-ссылки.

import qrcode

# URL-ссылка, которую вы хотите закодировать в QR-код
url = "https://www.example.com"

# Создание объекта QRCode
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)

# Добавление данных (URL) в QRCode
qr.add_data(url)
qr.make(fit=True)

# Создание изображения QR-кода
img = qr.make_image(fill_color="black", back_color="white")

# Сохранение изображения QR-кода
img.save("qrcode.png")

Предварительно вам нужно установить библиотеку qrcode.

#theory // Just Python
Валидация входных данных

Стоит фильтровать пользовательский ввод на наличие определенных символов. В разработке веб-приложений это особенно важно, потому что помогает предотвратить различные атаки, такие как SQL-инъекции и межсайтовый скриптинг (XSS).

#theory // Just Python
Экономные генераторы

Отрабатывают эффективнее вместо самописных итераторов и вызываются с помощью специального синтаксиса — круглых скобок и конструкции i for i in range(10000).

#theory // Just Python
Коллекции MutableMapping

Collections.MutableMapping — это интерфейс, который представляет изменяемое отображение (словарь).
Он наследуется от интерфейса Mapping и добавляет методы для изменения отображения, такие как __setitem__, __delitem__ и clear.

Основное преимущество в использовании MutableMapping — это возможность передавать экземпляры такого класса в любое API, ожидающее словарь.
Например, во многих функциях в стандартной библиотеке есть параметры типа dict. Если создать класс, реализующий MutableMapping, его экземпляры можно будет передавать в такие функции.

#theory // Just Python
Класс Process

Process — это класс для создания и управления отдельными процессами из модуля multiprocessing.
Создание процесса выполняется конструктором Process, передавая целевую функцию и аргументы.

При создании процессов нужно учитывать:
— Ограничения на доступ к данным между процессами.

#theory // Just Python
Библиотека Astropy

Astropy — это библиотека с открытым исходным кодом для Python, предназначенная для выполнения астрономических расчетов. Это широко используемая библиотека в среде профессиональных астрономов. Философия проекта предполагает максимальное переиспользование уже существующих научных пакетов.

Astropy — это мощный инструмент, который может использоваться для выполнения широкого спектра астрономических задач. Он является отличным выбором для астрономов, которые хотят использовать язык программирования Python для своих исследований.

#theory // Just Python
SpeechRecognition

SpeechRecognition – это библиотека Python, которая позволяет использовать API распознавания речи от разных компаний, таких как Google, Microsoft, IBM и другие. Она также имеет возможность работать офлайн.

#theory // Just Python
TurboGears

TurboGears — это фреймворк для создания веб-приложений на Python. Он состоит из набора взаимозаменяемых компонентов, упрощающих и ускоряющих разработку.

Вот некоторые ключевые особенности TurboGears:

TurboGears использует архитектурный шаблон Model-View-Controller (MVC), разделяя ваше приложение на логические блоки: модель, представление и контроллер. Это способствует более организованной и поддерживаемой разработке.
TurboGears позволяет вам выбирать нужные библиотеки и инструменты. По умолчанию он использует Pylons, SQLAlchemy, Genshi и Repoze, но вы можете заменить их на другие.

#theory // Just Python
Web2py

Web2py — это бесплатный фреймворк с открытым исходным кодом, предназначенный для быстрой разработки безопасных веб-приложений, основанных на базах данных. Он написан на Python и программируется с использованием того же языка.

#theory // Just Python
MySQL: ORDER BY

Используй оператор ORDER BY, чтобы отсортировать результат в порядке возрастания или убывания. Ключевое слово ORDER BY по умолчанию сортирует результат по возрастанию. Чтобы отсортировать результат в порядке убывания, используй ключевое слово DESC.

#theory // Just Python
CherryPy

CherryPy — это легковесный объектно-ориентированный веб-фреймворк на Python, предназначенный для быстрой разработки веб-приложений. Он отличается простотой и элегантностью подхода, позволяя создавать мощные и гибкие веб-сайты.

#theory // Just Python
Asyncore

Asyncore — это модуль в Python, который позволяет создавать асинхронные сетевые приложения. Он был частью стандартной библиотеки Python с версии 2.0 до версии 3.11, но с версии 3.6 он помечен как устаревший и будет удален в версии 3.12.

Asyncore работает, используя дескрипторы событий. Дескриптор события - это объект, который представляет собой сокет или другой объект, который может генерировать события. Asyncore отслеживает дескрипторы событий и вызывает их методы обратного вызова, когда происходят события.

#theory // Just Python
Библиотека ELI5

ELI5 (расшифровывается как "Explain like I'm 5") – это библиотека Python, предназначенная для отладки и объяснения предсказаний классификаторов машинного обучения. Она работает с популярными библиотеками машинного обучения, такими как scikit-learn, XGBoost, Keras.

#theory // Just Python
Tkinter

Tkinter — это стандартная библиотека Python, которая позволяет создавать графические интерфейсы пользователя (GUI). Она является оберткой вокруг популярной библиотеки Tk, написанной на языке Tcl.

#theory // Just Python
InterpretML

InterpretML — это пакет с открытым исходным кодом для Python, который объединяет передовые методы интерпретируемого машинного обучения.

InterpretML содержит ряд алгоритмов, которые по своей сути интерпретируемы, например, линейные модели и деревья решений. Данный пакет также предоставляет методы для объяснения уже обученных моделей, даже если они не были изначально спроектированы как интерпретируемые.

#theory // Just Python
Ускоренный импорт библиотек

Если запустить следующий скрипт в Python версий 2.x.x и 3.11.4, то вы заметите солидный прирост в скорости подключения инструментов. В забавной мини-программе ниже выводится скорость импорта библиотек _io, marshal и проч., да еще и ASCII-графика с питончиком.

#theory // Just Python
Улучшение синтаксиса для параллельных процессов

Раньше мы вручную отслеживали все свои задачи в списке, прежде чем передать их в collect().

Теперь используем контекстный менеджер.

#theory // Just Python
Пример использования фреймворка Kivy

Kivy – это кроссплатформенный фреймворк для создания графических интерфейсов пользователя (GUI) на Python. Он позволяет создавать приложения, которые будут работать на Windows, macOS, Linux, Android и iOS.

#theory // Just Python
PyOgre

PyOgre — это связка Python с OGRE (Object-Oriented Graphics Rendering Engine), мощным 3D-движком, написанным на C++. Она позволяет разработчикам создавать игры, демо-версии и другие 3D-приложения, используя Python.

Python — более простой и понятный язык, чем C++, что делает PyOgre более доступным для начинающих разработчиков. PyOgre позволяет использовать Python для создания сложных 3D-приложений, сохраняя при этом высокую производительность OGRE.

#theory // Just Python