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
IndexError

Допустим, мы и дальше получаем список реплик бота, причем каждый день длина этого перечня разная. Если все же приходится при создании цикла опираться на некую константу, которая с количеством реплик не всегда совпадает, try — except поможет справиться с ошибкой индекса.

Указываем во второй части конструкции, с какой ошибкой может столкнуться скрипт.

#theory // Just Python
TypeError + ValueError

Если вы, скажем, планируете оперировать тем, что ввел пользователь, то input() может сыграть с вами злую шутку.

По умолчанию метод возвращает строку, а мы-то предполагаем целочисленное значение.

try, в принципе, может справиться с такой ситуацией, если вы понимаете типы данных для проводимых операций (в данном случае, сложения).

#theory // Just Python
Boltons.iterutils

Boltons.iterutils — это библиотека Python, которая предоставляет набор функций для работы с итерируемыми объектами. Библиотека включает в себя функции для преобразования итерируемых объектов, фильтрации итерируемых объектов, а также для работы с несколькими итеративными объектами.

#theory // Just Python
Метод upper()

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

#theory // Just Python
Константы пакета string

В Python есть несколько полезных констант в пакете string, которые нужно знать начинающему программисту:

string.ascii_letters: строка со всеми буквами английского алфавита (строчными и прописными).
string.digits: строка со всеми цифрами.
string.hexdigits: строка со всеми шестнадцатеричными цифрами.
string.octdigits: строка со всеми восьмеричными цифрами.
string.punctuation: строка со всеми знаками пунктуации.
string.whitespace: строка со всеми пробельными символами.

Эти константы позволяют легко получить строки с определенными наборами символов, что часто бывает полезно при работе со строками.

#theory // Just Python
Необычные приёмы нарезки списков на 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