Никаких фигурных скобок
В Python, в отличие от, например, C, C ++ или Java используются отступы вместо фигурных скобок. И даже если попытаться импортировать их, можно увидеть это.
🔗 Python tricks
В Python, в отличие от, например, C, C ++ или Java используются отступы вместо фигурных скобок. И даже если попытаться импортировать их, можно увидеть это.
🔗 Python tricks
Целых 4 отсылки на Монти Пайтон
Гвидо ван Россум любит это шоу, и даже в документации указал, что: «Язык назван в честь шоу Би-би-си “Летающий цирк Монти Пайтона” и не имеет никакого отношения к рептилиям. Ссылки на скетчи Монти Пайтон в документации не только разрешены, но и поощряются!». Так что неудивительно, что в самом языке есть несколько отсылок к шоу.
🔗 Python tricks
Гвидо ван Россум любит это шоу, и даже в документации указал, что: «Язык назван в честь шоу Би-би-си “Летающий цирк Монти Пайтона” и не имеет никакого отношения к рептилиям. Ссылки на скетчи Монти Пайтон в документации не только разрешены, но и поощряются!». Так что неудивительно, что в самом языке есть несколько отсылок к шоу.
🔗 Python tricks
Конвертер валюты
С помощью этого небольшого кода ты можешь реализовать конвертер валюты. Пользователь сам вводит сумму и валюту. Предварительно нужно установить библиотеку forex-python.
🔗 Python tricks
С помощью этого небольшого кода ты можешь реализовать конвертер валюты. Пользователь сам вводит сумму и валюту. Предварительно нужно установить библиотеку forex-python.
from forex_python.converter import CurrencyRates
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}")
🔗 Python tricks
Можно и нужно использовать try — except
KeyError
Если при чтении файла метод json.loads() возвращает вместо словаря список, то при попытке обратиться к ключу message можно схватить такое исключение.
Эту ошибку легко допустить, когда не знаешь тип возвращаемого объекта.
Представьте, что мы выгружаем логи бота по дням, а в выходные не случилось ни одной беседы. Тогда программа вернет объект None («ничего») про воскресенье, и у него тоже нет ключа ‘message’. Здесь try — except играет важную роль: навесив такой блок, мы обработаем ситуацию с пустотами.
🔗 Python tricks
KeyError
Если при чтении файла метод json.loads() возвращает вместо словаря список, то при попытке обратиться к ключу message можно схватить такое исключение.
Эту ошибку легко допустить, когда не знаешь тип возвращаемого объекта.
Представьте, что мы выгружаем логи бота по дням, а в выходные не случилось ни одной беседы. Тогда программа вернет объект None («ничего») про воскресенье, и у него тоже нет ключа ‘message’. Здесь try — except играет важную роль: навесив такой блок, мы обработаем ситуацию с пустотами.
🔗 Python tricks
IndexError
Допустим, мы и дальше получаем список реплик бота, причем каждый день длина этого перечня разная. Если все же приходится при создании цикла опираться на некую константу, которая с количеством реплик не всегда совпадает, try — except поможет справиться с ошибкой индекса.
Указываем во второй части конструкции, с какой ошибкой может столкнуться скрипт.
🔗 Python tricks
Допустим, мы и дальше получаем список реплик бота, причем каждый день длина этого перечня разная. Если все же приходится при создании цикла опираться на некую константу, которая с количеством реплик не всегда совпадает, try — except поможет справиться с ошибкой индекса.
Указываем во второй части конструкции, с какой ошибкой может столкнуться скрипт.
🔗 Python tricks
⁉️ Готов стать профи в разработке на Python?- или будешь довольствоваться средним уровнем?
Всего за 5 месяцев можно освоить широкий стек технологий на онлайн-курсе «Python Developer. Professional» и вырасти в доходе и должности.
➡️ Пройди тест по Python и проверь свои знания.
Ответишь — пройдешь на продвинутый курс "Python Developer. Professional" от OTUS по специальной цене
🔥 Выбери светлую сторону силы и приходи на курс.
Всего за 5 месяцев можно освоить широкий стек технологий на онлайн-курсе «Python Developer. Professional» и вырасти в доходе и должности.
➡️ Пройди тест по Python и проверь свои знания.
Ответишь — пройдешь на продвинутый курс "Python Developer. Professional" от OTUS по специальной цене
🔥 Выбери светлую сторону силы и приходи на курс.
TypeError + ValueError
Если вы, скажем, планируете оперировать тем, что ввел пользователь, то input() может сыграть с вами злую шутку.
По умолчанию метод возвращает строку, а мы-то предполагаем целочисленное значение.
try, в принципе, может справиться с такой ситуацией, если вы понимаете типы данных для проводимых операций (в данном случае, сложения).
🔗 Python tricks
Если вы, скажем, планируете оперировать тем, что ввел пользователь, то input() может сыграть с вами злую шутку.
По умолчанию метод возвращает строку, а мы-то предполагаем целочисленное значение.
try, в принципе, может справиться с такой ситуацией, если вы понимаете типы данных для проводимых операций (в данном случае, сложения).
🔗 Python tricks
Бонусный прием
В PEP 654 были объявлены группы исключений (Exception Groups): они позволяют заложить в одну строку except сразу несколько типов ошибок.
Если исследовать типы ошибок нет времени, можно на скорую руку заложить в такую группу все популярные ошибки и обернуть блоком try — except всю программу.
🔗 Python tricks
В PEP 654 были объявлены группы исключений (Exception Groups): они позволяют заложить в одну строку except сразу несколько типов ошибок.
Если исследовать типы ошибок нет времени, можно на скорую руку заложить в такую группу все популярные ошибки и обернуть блоком try — except всю программу.
🔗 Python tricks
Не стоит использовать try — except
AttributeError
Представим, что мы храним текстовые документы в специализированной базе: текст (text) и координаты его вектора в многомерном пространстве (values).
Библиотека langchain, когда запрашивает близкие по смыслу предложения, ищет близконаправленные вектора и возвращает список документов res в преобразованном виде.
Если по квадратным скобкам узнать список в этом выводе можно, то определить, что каждый элемент — кортеж, уже сложнее. Блок try в таких ситуациях малоприменим, ибо тип данных задан автором библиотеки. Не ясно, какую ошибку класть в except.
🔗 Python tricks
AttributeError
Представим, что мы храним текстовые документы в специализированной базе: текст (text) и координаты его вектора в многомерном пространстве (values).
Библиотека langchain, когда запрашивает близкие по смыслу предложения, ищет близконаправленные вектора и возвращает список документов res в преобразованном виде.
Если по квадратным скобкам узнать список в этом выводе можно, то определить, что каждый элемент — кортеж, уже сложнее. Блок try в таких ситуациях малоприменим, ибо тип данных задан автором библиотеки. Не ясно, какую ошибку класть в except.
🔗 Python tricks
string.upper
Метод upper() преобразует все символы нижнего регистра в строке в символы верхнего регистра. Если символы нижнего регистра отсутствуют, возвращается исходная строка. Если ты хочешь преобразовать строку в нижний регистр, используй lower(). Также ты можешь использовать swapcase() для переключения между строчными и прописными буквами.
🔗 Python tricks
Метод upper() преобразует все символы нижнего регистра в строке в символы верхнего регистра. Если символы нижнего регистра отсутствуют, возвращается исходная строка. Если ты хочешь преобразовать строку в нижний регистр, используй lower(). Также ты можешь использовать swapcase() для переключения между строчными и прописными буквами.
🔗 Python tricks
ImportError
Те из нас, кто привык работать в ноутбуках на базе Google Colaboratory / Jupyter Notebook, помнят, что в среду предустановлено множество популярных сторонних инструментов, и дополнительно их устанавливать командой pip не нужно.
При работе с классической Python-программой легко забыть, что тот или иной инструмент не подключен. Или, что еще хуже, для данной версии Python не предусмотрена конкретная версия библиотеки. Недавно при запуске скрипта с langchain на Python 3.9. я была вынуждена обновлять языковой пакет до 3.11.5, ибо нужная langchain==0.0.194 в 3.9 попросту недоступна.
Для таких ситуаций try — except малополезен. С подключаемыми инструментами все равно придется разбираться вручную.
🔗 Python tricks
Те из нас, кто привык работать в ноутбуках на базе Google Colaboratory / Jupyter Notebook, помнят, что в среду предустановлено множество популярных сторонних инструментов, и дополнительно их устанавливать командой pip не нужно.
При работе с классической Python-программой легко забыть, что тот или иной инструмент не подключен. Или, что еще хуже, для данной версии Python не предусмотрена конкретная версия библиотеки. Недавно при запуске скрипта с langchain на Python 3.9. я была вынуждена обновлять языковой пакет до 3.11.5, ибо нужная langchain==0.0.194 в 3.9 попросту недоступна.
Для таких ситуаций try — except малополезен. С подключаемыми инструментами все равно придется разбираться вручную.
🔗 Python tricks
Необычные приёмы нарезки списков на Python
Получение части элементов из списка является распространённым требованием. В Python оператор slice состоит из трёх компонентов.
“start”: начальный индекс (значение по умолчанию равно 0).
“end”: конечный индекс (значение по умолчанию - длина списка).
“step”: определяет размер шага при итерациях по списку (значение по умолчанию равно 1).
🔗 Python tricks
Получение части элементов из списка является распространённым требованием. В Python оператор slice состоит из трёх компонентов.
“start”: начальный индекс (значение по умолчанию равно 0).
“end”: конечный индекс (значение по умолчанию - длина списка).
“step”: определяет размер шага при итерациях по списку (значение по умолчанию равно 1).
🔗 Python tricks
Переводчик
С помощью библиотеки googletrans ты можешь реализовать переводчик. В данном коде реализован простой переводчик с английского на русский и наоборот. Предварительно тебе нужно установить библиотеку.
🔗 Python tricks
С помощью библиотеки googletrans ты можешь реализовать переводчик. В данном коде реализован простой переводчик с английского на русский и наоборот. Предварительно тебе нужно установить библиотеку.
from googletrans import Translator
def translate_text(text):
translator = Translator()
if text.isascii():
translation = translator.translate(text, src='en', dest='ru')
return translation.text
else:
translation = translator.translate(text, src='ru', dest='en')
return translation.text
# Пример использования
text = input("Введите текст для перевода: ")
translated_text = translate_text(text)
print(f"Переведенный текст: {translated_text}")
🔗 Python tricks
Используйте виртуальное окружение
Виртуальное окружение (virtual environment) — надстройка, которая обеспечивает две вещи.
Изоляцию зависимостей. У каждого окружения будет собственный набор библиотек, изолированный от системного языкового пакета. Это гарантирует, что уязвимости в последних не навредят проекту.
Контроль версий. Виртуальное окружение позволит зафиксировать разновидность используемых библиотек с помощью requirements.txt или другого файла конфигурации. Код, скопированный из многолетнего треда на StackOverflow, часто выдает ошибку именно из-за этого. Если вы работаете с несколькими проектами, требующими разных версий одной и той же библиотеки, virtualenv поможет их «развести по углам».
🔗 Python tricks
Виртуальное окружение (virtual environment) — надстройка, которая обеспечивает две вещи.
Изоляцию зависимостей. У каждого окружения будет собственный набор библиотек, изолированный от системного языкового пакета. Это гарантирует, что уязвимости в последних не навредят проекту.
Контроль версий. Виртуальное окружение позволит зафиксировать разновидность используемых библиотек с помощью requirements.txt или другого файла конфигурации. Код, скопированный из многолетнего треда на StackOverflow, часто выдает ошибку именно из-за этого. Если вы работаете с несколькими проектами, требующими разных версий одной и той же библиотеки, virtualenv поможет их «развести по углам».
🔗 Python tricks
Управляйте сессиями
Во время сессии всем событиям, помимо прочих метаданных, присваивается и идентификатор. Это позволяет сохранять данные между запросами, которые растянуты по времени.
🔗 Python tricks
Во время сессии всем событиям, помимо прочих метаданных, присваивается и идентификатор. Это позволяет сохранять данные между запросами, которые растянуты по времени.
🔗 Python tricks
Создание QR-кода
Данный код позволяет создать QR-код из указанной URL-ссылки.
Предварительно вам нужно установить библиотеку qrcode.
🔗 Python tricks
Данный код позволяет создать 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 tricks
Валидируйте входные данные
Стоит фильтровать пользовательский ввод на наличие определенных символов. В разработке веб-приложений это особенно важно, потому что помогает предотвратить различные атаки, такие как SQL-инъекции и межсайтовый скриптинг (XSS).
🔗 Python tricks
Стоит фильтровать пользовательский ввод на наличие определенных символов. В разработке веб-приложений это особенно важно, потому что помогает предотвратить различные атаки, такие как SQL-инъекции и межсайтовый скриптинг (XSS).
🔗 Python tricks
Генераторы для экономии памяти
Отрабатывают эффективнее вместо самописных итераторов и вызываются с помощью специального синтаксиса — круглых скобок и конструкции i for i in range(10000).
🔗 Python tricks
Отрабатывают эффективнее вместо самописных итераторов и вызываются с помощью специального синтаксиса — круглых скобок и конструкции i for i in range(10000).
🔗 Python tricks
%%html
Отрендерит ячейку как код HTML. Таким же образом исполнит код на Javascript, Perl или Ruby! Вот это действительно удивительное дополнение. Только используйте с осторожностью!
Более того, для учебы нередко пригождается верстка формул на специальном стандарте LaTeX, или справочной информации на Markdown. Для самых креативных предусмотрели даже рендеринг из .svg.
🔗 Python tricks
Отрендерит ячейку как код HTML. Таким же образом исполнит код на Javascript, Perl или Ruby! Вот это действительно удивительное дополнение. Только используйте с осторожностью!
Более того, для учебы нередко пригождается верстка формул на специальном стандарте LaTeX, или справочной информации на Markdown. Для самых креативных предусмотрели даже рендеринг из .svg.
🔗 Python tricks
%rerun
Перезапускает предыдущую ячейку. В моей практике это полезно, чтобы пересобрать, к примеру, эмоциональную окраску (позитивная / негативная) реплики пользователя на базе библиотеки
🔗 Python tricks
Перезапускает предыдущую ячейку. В моей практике это полезно, чтобы пересобрать, к примеру, эмоциональную окраску (позитивная / негативная) реплики пользователя на базе библиотеки
dostoevsky
.🔗 Python tricks