fa
Feedback
Pythoner

Pythoner

رفتن به کانال در Telegram

Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику. Сотрудничество - @flattys Цены - @serpent_media Канал на бирже: https://telega.in/c/pythonercode

نمایش بیشتر
6 620
مشترکین
-324 ساعت
-57 روز
-3030 روز
آرشیو پست ها
Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специал
+9
Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно! Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита. Для этого нужно: - Перейти по ссылке - Заполнить анкету и ответить на вопросы (занимает менее 3 минут) - На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать Перейти на сайт #реклама 16+ urban-university.ru О рекламодателе

✈️В мире современных технологий машинное обучение играет ключевую роль. Одним из самых популярных инструментов для разработки
✈️В мире современных технологий машинное обучение играет ключевую роль. Одним из самых популярных инструментов для разработки и обучения нейронных сетей является PyTorch. PyTorch - это открытая библиотека машинного обучения, разработанная Facebook AI Research. Она предоставляет гибкий и интуитивно понятный интерфейс для создания сложных нейронных сетей. ➡️Основы создания нейронной сети в PyTorch. Создание нейронной сети в PyTorch начинается с определения архитектуры. Вот простой пример:
import torch.nn as nn

class SimpleNN(nn.Module):
    def __init__(self):
        super(SimpleNN, self).__init__()
        self.fc1 = nn.Linear(784, 128)
        self.fc2 = nn.Linear(128, 10)
    
    def forward(self, x):
        x = torch.relu(self.fc1(x))
        x = self.fc2(x)
        return x
⬆️Этот код определяет простую нейронную сеть с двумя полносвязными слоями. ➡️Обучение нейронной сети Обучение - это процесс, в котором сеть корректирует свои веса для минимизации ошибки предсказания. Вот базовый цикл обучения:
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
criterion = nn.CrossEntropyLoss()

for epoch in range(num_epochs):
    for batch in data_loader:
        optimizer.zero_grad()
        outputs = model(batch)
        loss = criterion(outputs, targets)
        loss.backward()
        optimizer.step()
➡️Преимущества PyTorch 💬Динамические вычислительные графы 💬Простота отладки 💬Богатая экосистема и сообщество 💬Интеграция с Python ➡️Заключение PyTorch предоставляет мощный и гибкий инструментарий для создания и обучения нейронных сетей. С его помощью вы можете реализовать самые современные алгоритмы машинного обучения и решать сложные задачи в области искусственного интеллекта. 🐍Pythoner

✈️Функция sample() позволяет выбрать случайным образом элементы из последовательности или коллекции. Это удобно при необходим
✈️Функция sample() позволяет выбрать случайным образом элементы из последовательности или коллекции. Это удобно при необходимости получить случайную выборку из данных. ➡️Функция принимает два основных аргумента: 💬population — последовательность, из которой надо выбрать элементы (list, tuple, string и т. д.) 💬k — количество элементов для выборки. ➡️Дополнительные аргументы: 💬counts — список весов элементов (по умолчанию равновероятный выбор). 💬rng — генератор случайных чисел (по умолчанию берется из модуля random). ➡️Пример:
from random import sample

letters = ['a', 'b', 'c', 'd', 'e']

result = sample(letters, k=3)

print(result)
⬆️В примере из списка букв берется случайная выборка размером 3 элемента. Результат при каждом запуске будет разный. 🐍Pythoner

➡️Зачем нужно профилирование? Представьте, что ваш код - это спортивный автомобиль. Профилирование - это как диагностика двиг
➡️Зачем нужно профилирование? Представьте, что ваш код - это спортивный автомобиль. Профилирование - это как диагностика двигателя. Оно помогает найти "узкие места" и раскрыть истинный потенциал вашего кода. ➡️cProfile: Ваш верный помощник cProfile - это встроенный инструмент Python для профилирования. Он как супергерой, который анализирует каждую функцию вашего кода.
import cProfile

def my_function():
    # Ваш код здесь
    pass

cProfile.run('my_function()')
⬆️Теперь у вас есть детальный отчет о работе вашей функции. ➡️line_profiler: Микроскоп для вашего кода Если cProfile - это общая картина, то line_profiler - это микроскоп. Он анализирует каждую строку кода. Потрясающе, не так ли?
@profile
def my_function():
    # Ваш код здесь
    pass

# Запустите с: kernprof -l -v your_script.py
⬆️Теперь вы видите, сколько времени занимает каждая строка. Это как рентген для вашего кода! ➡️Практические советы: 💬Профилируйте регулярно: Это как чистка зубов для вашего кода! 💬Фокусируйтесь на горячих точках: 80% времени обычно тратится на 20% кода. 💬Не оптимизируйте преждевременно: Сначала убедитесь, что код работает правильно. ➡️Заключение: Профилирование - это ваш секретный ингредиент для создания быстрого и эффективного Python-кода. С cProfile и line_profiler в вашем арсенале, вы готовы покорить любые вершины производительности! 🐍Pythoner

Repost from IT memer

✈️Что такое concurrent.futures? Представьте, что вы супергерой, способный делать несколько дел одновременно. Это и есть concu
✈️Что такое concurrent.futures? Представьте, что вы супергерой, способный делать несколько дел одновременно. Это и есть concurrent.futures! Этот мощный модуль в Python позволяет вам выполнять задачи параллельно, экономя драгоценное время и ресурсы. ➡️Основные инструменты В нашем арсенале два главных оружия: 💬ThreadPoolExecutor - для задач, связанных с вводом-выводом 💬ProcessPoolExecutor - для вычислительно-интенсивных задач ➡️Простой пример использования ThreadPoolExecutor:
import concurrent.futures
import time

def task(name):
    print(f"Задача {name} начата")
    time.sleep(2)
    return f"Задача {name} завершена"

with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
    tasks = [executor.submit(task, f"#{i}") for i in range(5)]
    
    for future in concurrent.futures.as_completed(tasks):
        print(future.result())
⬆️Мы только что создали многопоточное приложение, которое выполняет 5 задач параллельно, используя пул из 3 потоков. 🔎Преимущества использования concurrent.futures 💬Повышение производительности 💬Простота использования 💬Автоматическое управление потоками - 💬Гибкость в настройке ➡️Заключение Поздравляем! Теперь вы знаете, как создавать многопоточные приложения с помощью concurrent.futures. Это мощный инструмент, который поможет вам писать более эффективный и быстрый код. Не забывайте практиковаться и экспериментировать - ведь в мире многопоточности возможности безграничны! 🐍Pythoner

Бесплатное IT-образование в 2024 Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие
Бесплатное IT-образование в 2024 Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие IT-направления Выбирайте нужное и подписывайтесь: 👩‍💻 Python: @PythonPortal 🤓 Книги айти: @portalToIT 👩‍💻 Frontend: @FrontendPortal ⚙️ Backend: @BackendPortal 📱 GitHub: @git_developer 👩‍💻 Java: @Java_Iibrary 👩‍💻 C#: @KodBlog 👩‍💻 С/С++: @Cpportal 🖥 Базы Данных & SQL: @SQL 👩‍💻 Golang: @juniorGolang 👩‍💻 PHP: @PHPortal 👩‍💻 Моб. разработка: @MobDev 👩‍💻 Разработка игр: @GameDevgx 👩‍💻 DevOps: @loose_code 🖥 Data Science: @DataSciencegx 🤔 Хакинг & ИБ: @cybersecinform 🐞 Тестирование: @QAPortal 📱 Маркетинг: @MarketingPortal 🖥 Дизайн: @PortalToDesign ➡️ Сохраняйте себе, чтобы не потерять

✈️FastStream - это мощная библиотека для Python, которая упрощает создание и управление потоковыми приложениями. Она предоста
✈️FastStream - это мощная библиотека для Python, которая упрощает создание и управление потоковыми приложениями. Она предоставляет удобный интерфейс для работы с различными брокерами сообщений, такими как Kafka и RabbitMQ. ➡️Основные преимущества FastStream 💬Простота использования 💬Высокая производительность 💬Поддержка асинхронного программирования 💬Легкая интеграция с существующими проектами ➡️Установка FastStream Для начала работы с FastStream, установите библиотеку с помощью pip:
pip install faststream
➡️Давайте рассмотрим простой пример использования FastStream с Kafka:
from faststream import FastStream, Logger
from faststream.kafka import KafkaBroker

# Создаем брокер Kafka
broker = KafkaBroker("localhost:9092")

# Инициализируем FastStream
app = FastStream(broker)

# Определяем обработчик сообщений
@broker.subscriber("input-topic")
async def process_message(msg: str, logger: Logger):
    logger.info(f"Получено сообщение: {msg}")
    # Обработка сообщения
    processed_msg = msg.upper()
    # Отправка обработанного сообщения
    await broker.publish(processed_msg, "output-topic")

# Запускаем приложение
if __name__ == "__main__":
    app.run()
⬆️В этом примере мы: 1. Импортируем необходимые модули из FastStream. 2. Создаем брокер Kafka, указывая адрес сервера. 3. Инициализируем FastStream с нашим брокером. 4. Определяем функцию-обработчик сообщений с декоратором @broker.subscriber. 5. В обработчике мы логируем полученное сообщение, преобразуем его в верхний регистр и отправляем в другую тему. 6. Запускаем приложение с помощью app.run(). 🐍Pythoner

Обучаем Java-разработчиков оплата после выхода на работу В Kata Academy можно выучиться на Java-разработчика бесплатно, а зап
Обучаем Java-разработчиков оплата после выхода на работу В Kata Academy можно выучиться на Java-разработчика бесплатно, а заплатить уже после трудоустройства по специальности из фактической зарплаты. Если задуматься, то все в выигрыше: — ты получаешь работу в Москве или Санкт-Петербурге с хорошей зарплатой, мы получаем процент за инвестиции в тебя; — в наших интересах научить тебя так, чтобы твоя зарплата была как можно выше; — мы прокачиваем твои навыки еще 2 года после курса: проводим выездные мероприятия и мастер-классы — и доходы наших выпускников растут; — мы не зависим от банков и их рассрочек — кризис не повлиял на доступность курсов. Чтобы попасть на курс, нужно выполнить небольшое тестовое задание. Переходи по ссылке и оставляй заявку! Узнать больше #реклама 16+ kata.academy О рекламодателе

✈️Legacy код, или унаследованный код, - это существующая кодовая база, которая продолжает использоваться, несмотря на то, что
✈️Legacy код, или унаследованный код, - это существующая кодовая база, которая продолжает использоваться, несмотря на то, что она может быть устаревшей, плохо структурированной или трудной для поддержки. ➡️Характеристики Legacy кода 💬Устаревшие технологии или методологии 💬Отсутствие или недостаточность документации 💬Сложность в поддержке и расширении 💬Высокая связность и низкая сплоченность ➡️Пример Legacy кода
# Legacy код на Python
def calculate_total(items):
    total = 0
    for item in items:
        total = total + item['price'] * item['quantity']
    return total

# Современный эквивалент
def calculate_total(items):
    return sum(item['price'] * item['quantity'] for item in items)
➡️Проблемы, связанные с Legacy кодом 💬Сложность внесения изменений и добавления новых функций 💬Повышенный риск появления ошибок при модификации 💬Трудности в интеграции с современными технологиями 💬Зависимость от устаревших библиотек и фреймворков ➡️Стратегии работы с Legacy кодом 💬Постепенный рефакторинг 💬Написание тестов для существующего кода 💬Документирование существующей функциональности 💬Модульная замена частей системы 🔎Заключение Работа с Legacy кодом - это неизбежная часть жизни многих разработчиков. Хотя он может представлять сложности, правильный подход к его обработке может значительно улучшить качество и поддерживаемость программного обеспечения. 🐍Pythoner

Repost from IT memer

✈️Модуль weakref предоставляет инструменты для создания слабых ссылок на объекты. ➡️Что такое слабые ссылки? Слабые ссылки по
✈️Модуль weakref предоставляет инструменты для создания слабых ссылок на объекты. ➡️Что такое слабые ссылки? Слабые ссылки позволяют ссылаться на объект без увеличения его счетчика ссылок. Это означает, что объект может быть удален сборщиком мусора, даже если на него есть слабая ссылка. ➡️Пример использования weakref:
import weakref

class MyClass:
    pass

obj = MyClass()
weak_ref = weakref.ref(obj)

print(weak_ref())  # Выводит объект MyClass
del obj
print(weak_ref())  # Выводит None
🔎Заключение Использование модуля weakref позволяет разработчикам Python лучше контролировать управление памятью в своих программах. Это особенно полезно при работе с большими объемами данных или в системах с ограниченными ресурсами. 🐍Pythoner

Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специал
+9
Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно! Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита. Для этого нужно: - Перейти по ссылке - Заполнить анкету и ответить на вопросы (занимает менее 3 минут) - На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать Перейти на сайт #реклама 16+ urban-university.ru О рекламодателе

✈️Что такое Dask? Dask - это гибкая библиотека для параллельных вычислений в Python. Она позволяет обрабатывать большие объем
✈️Что такое Dask? Dask - это гибкая библиотека для параллельных вычислений в Python. Она позволяет обрабатывать большие объемы данных, распределяя нагрузку на несколько ядер процессора или даже на кластер компьютеров. ➡️Почему Dask? - Масштабируемость: от ноутбука до кластера - Совместимость с экосистемой Python (NumPy, Pandas) - Ленивые вычисления для оптимизации 🔎Примеры использования Dask ➡️Параллельные вычисления с Dask Array
import dask.array as da

# Создаем большой массив
x = da.random.random((10000, 10000), chunks=(1000, 1000))

# Выполняем операции
result = (x + 1).mean().compute()

print(f"Среднее значение: {result}")
➡️Обработка больших DataFrame с Dask
import dask.dataframe as dd

# Читаем большой CSV файл
df = dd.read_csv('huge_file.csv')

# Выполняем группировку и агрегацию
result = df.groupby('category').agg({'value': 'mean'}).compute()

print(result)
➡️Параллельное применение функций с Dask Delayed
from dask import delayed

@delayed
def process_data(x):
    # Здесь может быть сложная обработка
    return x * 2

data = [1, 2, 3, 4, 5]
results = [process_data(x) for x in data]
final_result = delayed(sum)(results).compute()

print(f"Итоговый результат: {final_result}")
➡️Заключение Dask - это мощный инструмент для параллельной обработки данных в Python. Он позволяет легко масштабировать ваши вычисления и работать с большими объемами данных эффективно. Начните использовать Dask сегодня и ощутите разницу в скорости обработки ваших данных! 🐍Pythoner

Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как
Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как привлечь целевую аудиторию 💰👌 Попробовать #реклама yandex.ru О рекламодателе

➡️Что такое декораторы? Декораторы в Python - это мощный инструмент для изменения поведения функций или классов без изменения
➡️Что такое декораторы? Декораторы в Python - это мощный инструмент для изменения поведения функций или классов без изменения их исходного кода. Они позволяют "обернуть" существующую функцию дополнительной функциональностью. ➡️Зачем нужен functools.wraps? При создании декораторов возникает проблема: метаданные декорируемой функции (такие как имя и документация) теряются. Здесь на помощь приходит functools.wraps! ➡️Пример декоратора без functools.wraps
def my_decorator(func):
    def wrapper(*args, **kwargs):
        print("До выполнения функции")
        result = func(*args, **kwargs)
        print("После выполнения функции")
        return result
    return wrapper

@my_decorator
def greet(name):
    """Эта функция приветствует пользователя"""
    print(f"Привет, {name}!")

print(greet.__name__)  # Выводит: wrapper
print(greet.__doc__)   # Выводит: None
➡️Пример с использованием functools.wraps
from functools import wraps

def my_decorator(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        print("До выполнения функции")
        result = func(*args, **kwargs)
        print("После выполнения функции")
        return result
    return wrapper

@my_decorator
def greet(name):
    """Эта функция приветствует пользователя"""
    print(f"Привет, {name}!")

print(greet.__name__)  # Выводит: greet
print(greet.__doc__)   # Выводит: Эта функция приветствует пользователя
🔎Преимущества использования functools.wraps: 1. Сохранение метаданных функции 2. Улучшение отладки и документирования 3. Совместимость с инструментами анализа кода 🐍Pythoner

Senior-разработчик создал крутейший канал про SQL Благодаря простым картинкам даже новичок научится разрабатывать приложения
+4
Senior-разработчик создал крутейший канал про SQL Благодаря простым картинкам даже новичок научится разрабатывать приложения с использованием баз данных. Присоединяйтесь: @SQL

Реклама для бизнеса любого уровня в Яндекс Директе Создайте эффективную рекламную кампанию с алгоритмами Яндекс Директа 👌 На
Реклама для бизнеса любого уровня в Яндекс Директе Создайте эффективную рекламную кампанию с алгоритмами Яндекс Директа 👌 Начните прямо сейчас ⚡ Зарегистрироваться #реклама direct.yandex.ru О рекламодателе

🐍Разбор z = [x, y] создает список z, содержащий два элемента: список x и список y. Таким образом, z — это [[1, 2, 3], [4, 5]]. y.append(6) добавляет элемент 6 в конец списка y. После этой операции y становится [4, 5, 6]. Поскольку z содержит ссылки на x и y, любые изменения, внесенные в x или y, будут отражены в z. Когда y изменяется путем добавления 6, это изменение становится видимым в z, поскольку z содержит ссылку на исходный список y.

Что выдаст код выше?
Anonymous voting