Python По-русски
185 subscribers
10 photos
1 video
1 link
Расскажем про возможности языка питон
Download Telegram
🚀 Ускоряем Python с помощью Numba

Numba - это библиотека для Python, которая преобразует функции Python в машинный код для быстрого выполнения на CPU или GPU. Это значительно увеличивает производительность кода.

pip install numba


Пример использования:

import numba

@numba.jit
def compute_pi(n):
total = 0
for i in range(1, n):
total += 1 / (i * i)
return (6 * total) ** 0.5

print("Pi с использованием Numba:", compute_pi(1000000))


Почему Numba?

- Простота использования: Просто добавьте декоратор @numba.jit к вашей функции, и Numba автоматически скомпилирует её в машинный код.
- Высокая производительность: Numba позволяет значительно ускорить выполнение Python-кода, иногда в несколько раз.
- Поддержка CPU и GPU: Numba поддерживает как выполнение на центральном процессоре (CPU), так и на графическом процессоре (GPU).
This media is not supported in your browser
VIEW IN TELEGRAM
Когда нанял репетитора за 100 рублей в час
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)

Функция filter вместе с аргументом позволяет легко фильтровать элементы в списке по нужному параметру.
💵 Создаем Telegram-бота для отслеживания курса валют

Привет! Сегодня мы создадим Telegram-бота на Python для отслеживания курса валют. 🚀

Шаг 1: Установка библиотек

Установим python-telegram-bot версии 13.7 и requests:

pip install python-telegram-bot==13.7 requests


Шаг 2: Получение API ключа

Зарегистрируйтесь на ExchangeRate-API (https://www.exchangerate-api.com/) и получите API ключ.

Шаг 3: Создание бота через BotFather

1. Найдите BotFather (https://t.me/botfather) в Telegram.
2. Создайте нового бота командой /newbot, введите имя и юзернейм.
3. Скопируйте полученный токен.

Шаг 4: Написание кода

import requests
from telegram import Update
from telegram.ext import Updater, CommandHandler, CallbackContext

def get_exchange_rate(api_key, base_currency, target_currency):
url = f"https://v6.exchangerate-api.com/v6/{api_key}/latest/{base_currency}"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
return data['conversion_rates'].get(target_currency)
return None

def start(update: Update, context: CallbackContext) -> None:
update.message.reply_text('Привет! Используйте команду /rate для получения текущего курса.')

def rate(update: Update, context: CallbackContext) -> None:
api_key = "YOUR_API_KEY"
base_currency = "USD"
target_currency = "EUR"
exchange_rate = get_exchange_rate(api_key, base_currency, target_currency)
if exchange_rate:
update.message.reply_text(f'Курс {base_currency} к {target_currency} составляет {exchange_rate}.')
else:
update.message.reply_text('Не удалось получить данные о курсе валют.')

def main() -> None:
updater = Updater("YOUR_TELEGRAM_BOT_TOKEN")
dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler("start", start))
dispatcher.add_handler(CommandHandler("rate", rate))
updater.start_polling()
updater.idle()

if __name__ == '__main__':
main()


Шаг 5: Запуск бота

Запустите бота и откройте его в телеграм.
Отправьте команду /start и /rate своему боту в Telegram для получения курса валют.
def greet(name, message="Hello"):
return f"{message}, {name}!"

print(greet("Alice"))
print(greet("Bob", "Good morning"))

Функции в Python могут иметь параметры по умолчанию, которые используются, если не передано значение.
Декораторы позволяют изменять поведение функций или классов.
Функция filter фильтрует элементы последовательности на основе заданного условия.
Ключевое слово global позволяет изменять глобальные переменные внутри функций.
Декоратор @property позволяет создавать свойства объектов с автоматическим выполнением кода при доступе к ним.
Модуль random предоставляет функции для генерации случайных чисел.
Функция reversed возвращает обратный итератор для последовательности.
Функция round округляет число до указанного количества десятичных знаков.
Функция sorted сортирует элементы последовательности.
Ключевое слово with используется для создания контекстного менеджера, который обеспечивает автоматическое управление ресурсами.