Не стоит использовать try — except
AttributeError
Представим, что мы храним текстовые документы в специализированной базе: текст (text) и координаты его вектора в многомерном пространстве (values).
Библиотека langchain, когда запрашивает близкие по смыслу предложения, ищет близконаправленные вектора и возвращает список документов res в преобразованном виде.
Если по квадратным скобкам узнать список в этом выводе можно, то определить, что каждый элемент — кортеж, уже сложнее. Блок try в таких ситуациях малоприменим, ибо тип данных задан автором библиотеки. Не ясно, какую ошибку класть в except.
Разъяснивший Python
AttributeError
Представим, что мы храним текстовые документы в специализированной базе: текст (text) и координаты его вектора в многомерном пространстве (values).
Библиотека langchain, когда запрашивает близкие по смыслу предложения, ищет близконаправленные вектора и возвращает список документов res в преобразованном виде.
Если по квадратным скобкам узнать список в этом выводе можно, то определить, что каждый элемент — кортеж, уже сложнее. Блок try в таких ситуациях малоприменим, ибо тип данных задан автором библиотеки. Не ясно, какую ошибку класть в except.
Разъяснивший Python
💩3
Метод upper()
Метод
Разъяснивший Python
Метод
upper() преобразует все символы нижнего регистра в строке в символы верхнего регистра. Если символы нижнего регистра отсутствуют, возвращается исходная строка. Если ты хочешь преобразовать строку в нижний регистр, используй lower(). Также ты можешь использовать swapcase() для переключения между строчными и прописными буквами.Разъяснивший Python
👍1
ImportError
Те из нас, кто привык работать в ноутбуках на базе Google Colaboratory / Jupyter Notebook, помнят, что в среду предустановлено множество популярных сторонних инструментов, и дополнительно их устанавливать командой pip не нужно.
При работе с классической Python-программой легко забыть, что тот или иной инструмент не подключен. Или, что еще хуже, для данной версии Python не предусмотрена конкретная версия библиотеки. Недавно при запуске скрипта с
Для таких ситуаций
Разъяснивший Python
Те из нас, кто привык работать в ноутбуках на базе Google Colaboratory / Jupyter Notebook, помнят, что в среду предустановлено множество популярных сторонних инструментов, и дополнительно их устанавливать командой pip не нужно.
При работе с классической Python-программой легко забыть, что тот или иной инструмент не подключен. Или, что еще хуже, для данной версии Python не предусмотрена конкретная версия библиотеки. Недавно при запуске скрипта с
langchain на Python 3.9. я была вынуждена обновлять языковой пакет до 3.11.5, ибо нужная langchain==0.0.194 в 3.9 попросту недоступна.Для таких ситуаций
try — except малополезен. С подключаемыми инструментами все равно придется разбираться вручную.Разъяснивший Python
👍3🤷1
Константы пакета string
В Python есть несколько полезных констант в пакете
—
—
—
—
—
—
Эти константы позволяют легко получить строки с определенными наборами символов, что часто бывает полезно при работе со строками.
Разъяснивший Python
В Python есть несколько полезных констант в пакете
string, которые нужно знать начинающему программисту:—
string.ascii_letters: строка со всеми буквами английского алфавита (строчными и прописными).—
string.digits: строка со всеми цифрами.—
string.hexdigits: строка со всеми шестнадцатеричными цифрами.—
string.octdigits: строка со всеми восьмеричными цифрами.—
string.punctuation: строка со всеми знаками пунктуации.—
string.whitespace: строка со всеми пробельными символами.Эти константы позволяют легко получить строки с определенными наборами символов, что часто бывает полезно при работе со строками.
Разъяснивший Python
👍7
Необычные приёмы нарезки списков на Python
Получение части элементов из списка является распространённым требованием. В Python оператор slice состоит из трёх компонентов.
Разъяснивший Python
Получение части элементов из списка является распространённым требованием. В Python оператор slice состоит из трёх компонентов.
“start”: начальный индекс (значение по умолчанию равно 0).“end”: конечный индекс (значение по умолчанию - длина списка).“step”: определяет размер шага при итерациях по списку (значение по умолчанию равно 1).Разъяснивший Python
👍1
Статические методы в Python
Статические методы - это методы, которые не требуют создания экземпляра класса для вызова.
Они не имеют доступа к атрибутам и другим методам экземпляра класса и объявляются с помощью декоратора
Статические методы часто используются для реализации функционала, не зависящего от состояния экземпляра класса и полезны при создании утилитарных классов и функций.
Как видно из примера, статические методы позволяют удобно организовывать функционал, связанный с обработкой строк, в класс
Разъяснивший Python
Статические методы - это методы, которые не требуют создания экземпляра класса для вызова.
Они не имеют доступа к атрибутам и другим методам экземпляра класса и объявляются с помощью декоратора
@staticmethod.Статические методы часто используются для реализации функционала, не зависящего от состояния экземпляра класса и полезны при создании утилитарных классов и функций.
Как видно из примера, статические методы позволяют удобно организовывать функционал, связанный с обработкой строк, в класс
StringUtils, не создавая отдельных объектов.Разъяснивший Python
Используйте виртуальное окружение
Виртуальное окружение (virtual environment) — надстройка, которая обеспечивает две вещи.
Изоляцию зависимостей. У каждого окружения будет собственный набор библиотек, изолированный от системного языкового пакета. Это гарантирует, что уязвимости в последних не навредят проекту.
Контроль версий. Виртуальное окружение позволит зафиксировать разновидность используемых библиотек с помощью requirements.txt или другого файла конфигурации. Код, скопированный из многолетнего треда на StackOverflow, часто выдает ошибку именно из-за этого. Если вы работаете с несколькими проектами, требующими разных версий одной и той же библиотеки, virtualenv поможет их «развести по углам».
Разъяснивший Python
Виртуальное окружение (virtual environment) — надстройка, которая обеспечивает две вещи.
Изоляцию зависимостей. У каждого окружения будет собственный набор библиотек, изолированный от системного языкового пакета. Это гарантирует, что уязвимости в последних не навредят проекту.
Контроль версий. Виртуальное окружение позволит зафиксировать разновидность используемых библиотек с помощью requirements.txt или другого файла конфигурации. Код, скопированный из многолетнего треда на StackOverflow, часто выдает ошибку именно из-за этого. Если вы работаете с несколькими проектами, требующими разных версий одной и той же библиотеки, virtualenv поможет их «развести по углам».
Разъяснивший Python
👍1
Управляйте сессиями
Во время сессии всем событиям, помимо прочих метаданных, присваивается и идентификатор. Это позволяет сохранять данные между запросами, которые растянуты по времени.
Разъяснивший Python
Во время сессии всем событиям, помимо прочих метаданных, присваивается и идентификатор. Это позволяет сохранять данные между запросами, которые растянуты по времени.
Разъяснивший Python
Создание QR-кода
Данный код позволяет создать QR-код из указанной URL-ссылки.
Предварительно вам нужно установить библиотеку qrcode.
Разъяснивший Python
Данный код позволяет создать 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.
Разъяснивший Python
👍2
Валидируйте входные данные
Стоит фильтровать пользовательский ввод на наличие определенных символов. В разработке веб-приложений это особенно важно, потому что помогает предотвратить различные атаки, такие как SQL-инъекции и межсайтовый скриптинг (XSS).
Разъяснивший Python
Стоит фильтровать пользовательский ввод на наличие определенных символов. В разработке веб-приложений это особенно важно, потому что помогает предотвратить различные атаки, такие как SQL-инъекции и межсайтовый скриптинг (XSS).
Разъяснивший Python
❤3
Генераторы для экономии памяти
Отрабатывают эффективнее вместо самописных итераторов и вызываются с помощью специального синтаксиса — круглых скобок и конструкции i for i in range(10000).
Разъяснивший Python
Отрабатывают эффективнее вместо самописных итераторов и вызываются с помощью специального синтаксиса — круглых скобок и конструкции i for i in range(10000).
Разъяснивший Python
❤1
collections.MutableMapping
Collections.MutableMapping — это интерфейс, который представляет изменяемое отображение (словарь).
Он наследуется от интерфейса
Основное преимущество в использовании
Например, во многих функциях в стандартной библиотеке есть параметры типа
Разъяснивший Python
Collections.MutableMapping — это интерфейс, который представляет изменяемое отображение (словарь).
Он наследуется от интерфейса
Mapping и добавляет методы для изменения отображения, такие как __setitem__, __delitem__ и clear. Основное преимущество в использовании
MutableMapping — это возможность передавать экземпляры такого класса в любое API, ожидающее словарь. Например, во многих функциях в стандартной библиотеке есть параметры типа
dict. Если создать класс, реализующий MutableMapping, его экземпляры можно будет передавать в такие функции.Разъяснивший Python
Класс Process
Process — это класс для создания и управления отдельными процессами из модуля multiprocessing.
Создание процесса выполняется конструктором
При создании процессов нужно учитывать:
— Ограничения на доступ к данным между процессами.
Разъяснивший Python
Process — это класс для создания и управления отдельными процессами из модуля multiprocessing.
Создание процесса выполняется конструктором
Process, передавая целевую функцию и аргументы.При создании процессов нужно учитывать:
— Ограничения на доступ к данным между процессами.
Разъяснивший Python
👍3
%rerun
Перезапускает предыдущую ячейку. В моей практике это полезно, чтобы пересобрать, к примеру, эмоциональную окраску (позитивная / негативная) реплики пользователя на базе библиотеки
Разъяснивший Python
Перезапускает предыдущую ячейку. В моей практике это полезно, чтобы пересобрать, к примеру, эмоциональную окраску (позитивная / негативная) реплики пользователя на базе библиотеки
dostoevsky.Разъяснивший Python
🤡1💊1
dict.get()
Синтаксис метода
Разъяснивший Python
dict.get() — это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]), метод get() предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.Синтаксис метода
get() выглядит так:value = dict.get(key, default)
key: Ключ, по которому производится поиск в словаре.default (необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default не указан, и ключ не найден, метод вернет None.Разъяснивший Python
❤1
Оператор raise
Оператор
Синтаксис оператора
Где
Можно также использовать оператор
Разъяснивший Python
Оператор
raise используется для возбуждения исключения (exception). Он позволяет программистам явным образом указывать, что в программе произошла какая-то ошибка или неожиданное условие, и вызывать соответствующее исключение.Синтаксис оператора
raise выглядит следующим образом:raise [Exception [, args [, traceback]]]
Где
Exception — это тип исключения, которое вы хотите возбудить, а args и traceback — дополнительные аргументы, связанные с исключением.Можно также использовать оператор
raise без аргументов, чтобы повторно возбудить текущее исключение внутри блока except. Это может быть полезно, если вы хотите добавить дополнительную информацию к исключению или изменить его тип.Разъяснивший Python
👍2
SymPy
Разъяснивший Python
SymPy — это библиотека символьной математики для языка программирования Python. В отличие от численных вычислений, символьная математика работает с математическими объектами, такими как переменные, выражения и уравнения, в абстрактной форме, а не приближенно численно. SymPy позволяет проводить символьные вычисления, что означает, что вы можете работать с математическими выражениями в их аналитической форме.Разъяснивший Python
👍1
%precision
Указывает число знаков после запятой (decimal number) для числовых объектов.
Разъяснивший Python
Указывает число знаков после запятой (decimal number) для числовых объектов.
Разъяснивший Python
💩4👎1🤔1
Библиотека Astropy
Разъяснивший Python
Astropy — это библиотека с открытым исходным кодом для Python, предназначенная для выполнения астрономических расчетов. Это широко используемая библиотека в среде профессиональных астрономов. Философия проекта предполагает максимальное переиспользование уже существующих научных пакетов.Astropy — это мощный инструмент, который может использоваться для выполнения широкого спектра астрономических задач. Он является отличным выбором для астрономов, которые хотят использовать язык программирования Python для своих исследований.Разъяснивший Python
👍1🤬1
SpeechRecognition
Разъяснивший Python
SpeechRecognition – это библиотека Python, которая позволяет использовать API распознавания речи от разных компаний, таких как Google, Microsoft, IBM и другие. Она также имеет возможность работать офлайн.Разъяснивший Python
%autoawait
Позволяет использовать параллельные процессы. Ультраполезная фича, когда речь заходит о предварительной обработке данных, где на одном конвейере предстоит обработать разные столбцы крупного датафрейма.
Разъяснивший Python
Позволяет использовать параллельные процессы. Ультраполезная фича, когда речь заходит о предварительной обработке данных, где на одном конвейере предстоит обработать разные столбцы крупного датафрейма.
Разъяснивший Python