Конвертер валюты
С помощью этого небольшого кода ты можешь реализовать конвертер валюты. Пользователь сам вводит сумму и валюту. Предварительно нужно установить библиотеку forex-python.
С помощью этого небольшого кода ты можешь реализовать конвертер валюты. Пользователь сам вводит сумму и валюту. Предварительно нужно установить библиотеку forex-python.
from forex_python.converter import CurrencyRatesРазъяснивший Python
c = CurrencyRates()
amount = float(input("Введите сумму: "))
from_currency = input("Введите исходную валюту: ").upper()
to_currency = input("Введите желаемую валюту для конвертации: ").upper()
result = c.convert(from_currency, to_currency, amount)
print(f"{amount} {from_currency} равно {result} {to_currency}")
👍1
Сколько зарабатывает фрилансер-программист в 16 лет?
Вчера взял проект за 500$ — сегодня купил здесь рекламу.
Перестань писать код бесплатно, начни монетизировать своё дело. А о том, как это сделать расскажет канал «Фриланс с Хаямом Алиевым»
Будь первым, кто познает все тонкости фриланса: https://news.1rj.ru/str/+GkTSJoVoA6g4YTQy
Вчера взял проект за 500$ — сегодня купил здесь рекламу.
Перестань писать код бесплатно, начни монетизировать своё дело. А о том, как это сделать расскажет канал «Фриланс с Хаямом Алиевым»
Будь первым, кто познает все тонкости фриланса: https://news.1rj.ru/str/+GkTSJoVoA6g4YTQy
😁4❤1
argcomplete
argcomplete — это библиотека для автоматического дополнения аргументов командной строки в Python. Это может быть полезно при разработке сценариев командной строки, когда вы хотите, чтобы ваш скрипт предлагал возможные аргументы и значения при нажатии клавиши Tab.
argcomplete поддерживает не все оболочки по умолчанию, и вам может потребоваться настроить ее соответствующим образом для вашей среды выполнения.
Разъяснивший Python
argcomplete — это библиотека для автоматического дополнения аргументов командной строки в Python. Это может быть полезно при разработке сценариев командной строки, когда вы хотите, чтобы ваш скрипт предлагал возможные аргументы и значения при нажатии клавиши Tab.
argcomplete поддерживает не все оболочки по умолчанию, и вам может потребоваться настроить ее соответствующим образом для вашей среды выполнения.
Разъяснивший Python
👍2
Можно и нужно использовать try — except
KeyError
Если при чтении файла метод
Эту ошибку легко допустить, когда не знаешь тип возвращаемого объекта.
Представьте, что мы выгружаем логи бота по дням, а в выходные не случилось ни одной беседы. Тогда программа вернет объект None («ничего») про воскресенье, и у него тоже нет ключа
Разъяснивший Python
KeyError
Если при чтении файла метод
json.loads() возвращает вместо словаря список, то при попытке обратиться к ключу message можно схватить такое исключение.Эту ошибку легко допустить, когда не знаешь тип возвращаемого объекта.
Представьте, что мы выгружаем логи бота по дням, а в выходные не случилось ни одной беседы. Тогда программа вернет объект None («ничего») про воскресенье, и у него тоже нет ключа
‘message’. Здесь try — except играет важную роль: навесив такой блок, мы обработаем ситуацию с пустотами.Разъяснивший Python
👎2
IndexError
Допустим, мы и дальше получаем список реплик бота, причем каждый день длина этого перечня разная. Если все же приходится при создании цикла опираться на некую константу, которая с количеством реплик не всегда совпадает, try — except поможет справиться с ошибкой индекса.
Указываем во второй части конструкции, с какой ошибкой может столкнуться скрипт.
Разъяснивший Python
Допустим, мы и дальше получаем список реплик бота, причем каждый день длина этого перечня разная. Если все же приходится при создании цикла опираться на некую константу, которая с количеством реплик не всегда совпадает, try — except поможет справиться с ошибкой индекса.
Указываем во второй части конструкции, с какой ошибкой может столкнуться скрипт.
Разъяснивший Python
TypeError + ValueError
Если вы, скажем, планируете оперировать тем, что ввел пользователь, то
По умолчанию метод возвращает строку, а мы-то предполагаем целочисленное значение.
Разъяснивший Python
Если вы, скажем, планируете оперировать тем, что ввел пользователь, то
input() может сыграть с вами злую шутку.По умолчанию метод возвращает строку, а мы-то предполагаем целочисленное значение.
try, в принципе, может справиться с такой ситуацией, если вы понимаете типы данных для проводимых операций (в данном случае, сложения).Разъяснивший Python
👎4🤡2🤔1
Boltons.iterutils
Разъяснивший Python
Boltons.iterutils — это библиотека Python, которая предоставляет набор функций для работы с итерируемыми объектами. Библиотека включает в себя функции для преобразования итерируемых объектов, фильтрации итерируемых объектов, а также для работы с несколькими итеративными объектами.Разъяснивший Python
🤡2
Не стоит использовать 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