Python Hub - сборище Питонистов
Что выдаст код выше? ⬆️
Разбор ⬇️
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.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Обновил старый гайдик 🔄
+добавил, как работать с медиа
+добавил, как добавить иконку
+добавил, как добавить библиотеки, которые pip'ом устанавливались
гооооо смотреть⛳️
https://www.youtube.com/watch?v=3JJ15GuzozQ
+добавил, как работать с медиа
+добавил, как добавить иконку
+добавил, как добавить библиотеки, которые pip'ом устанавливались
гооооо смотреть⛳️
https://www.youtube.com/watch?v=3JJ15GuzozQ
YouTube
PYTHON в EXE? С БИБИЛИОТЕКАМИ, КАРТИНКАМИ, ИКОНКОЙ
В этом видео мы рассмотрим, как сформировать .exe файл из Python файла. При этом, у нас в коде используются сторонние библиотеки, есть медиа. Мы так же добавим иконку приложения. Использовать будем auto-py-to-exe.
Convert .py (Python) to .exe (Executable…
Convert .py (Python) to .exe (Executable…
👍3❤1
🚀 Привет, коллеги!
Многие из вас знакомы с Habr. Кто-то уже делился там своими статьями, а кто-то, возможно, столкнулся с модерацией или другими сложностями.
Мы с командой начали новый проект — DevGurt — площадку для общения и публикации статей для всех, кто так или иначе связан с Dev-IT индустрией. Проект сейчас находится на стадии MVP (минимально жизнеспособный продукт), но мы активно работаем над его развитием и расширением.
(☺️https://devgurt.com/☺️)
Чем вы можете помочь? Мы ждем вашей поддержки, советов и, конечно, обратной связи! Регистрируйтесь, публикуйте статьи, делитесь мнениями. Нам важно знать, что вы думаете!
(Форма обратной связи - https://forms.gle/hra11i99sDsh31XG7)
💡 В планах — подключение монетизации, чтобы авторы могли получать вознаграждения за свой труд.
Присоединяйтесь и давайте вместе создадим что-то крутое!
https://devgurt.com/
p.s. Небольшая статья о том, как пользоваться платформой
https://devgurt.com/offtop/16-cto-takoe-devgurt-i-kak-im-polzovatsya
Многие из вас знакомы с Habr. Кто-то уже делился там своими статьями, а кто-то, возможно, столкнулся с модерацией или другими сложностями.
Мы с командой начали новый проект — DevGurt — площадку для общения и публикации статей для всех, кто так или иначе связан с Dev-IT индустрией. Проект сейчас находится на стадии MVP (минимально жизнеспособный продукт), но мы активно работаем над его развитием и расширением.
(☺️https://devgurt.com/☺️)
Чем вы можете помочь? Мы ждем вашей поддержки, советов и, конечно, обратной связи! Регистрируйтесь, публикуйте статьи, делитесь мнениями. Нам важно знать, что вы думаете!
(Форма обратной связи - https://forms.gle/hra11i99sDsh31XG7)
💡 В планах — подключение монетизации, чтобы авторы могли получать вознаграждения за свой труд.
Присоединяйтесь и давайте вместе создадим что-то крутое!
https://devgurt.com/
p.s. Небольшая статья о том, как пользоваться платформой
https://devgurt.com/offtop/16-cto-takoe-devgurt-i-kak-im-polzovatsya
❤🔥2👍2😱2❤1👨💻1
Оптимизация производительности с Numba в Python 🐍
🔍 Что такое Numba?
Numba - это JIT-компилятор (Just-In-Time), который преобразует Python и NumPy код в быстрый машинный код. Это позволяет значительно ускорить выполнение вычислительно-интенсивных задач. 🧠⚡️
💡 Как использовать Numba?
Использовать Numba очень просто! Вот пример:
🔬 Что происходит?
1️⃣ Мы импортируем декоратор @jit из Numba
2️⃣ Применяем декоратор к нашей функции
3️⃣ Numba компилирует функцию при первом вызове
4️⃣ Последующие вызовы используют скомпилированную версию 🚀
📊 Результаты
На больших массивах Numba может ускорить код в десятки раз! Например, для массива из миллиона элементов:
- Обычный Python: ~1 секунда ⏱
- С Numba: ~0.01 секунды ⚡️
🎯 Советы по использованию
- Используйте режим nopython=True для максимальной производительности
- Numba лучше всего работает с числовыми типами данных и NumPy массивами
- Избегайте использования Python-объектов внутри jit-функций
🔍 Что такое Numba?
Numba - это JIT-компилятор (Just-In-Time), который преобразует Python и NumPy код в быстрый машинный код. Это позволяет значительно ускорить выполнение вычислительно-интенсивных задач. 🧠⚡️
💡 Как использовать Numba?
Использовать Numba очень просто! Вот пример:
from numba import jit
import numpy as np
@jit(nopython=True)
def sum_of_squares(arr):
sum = 0
for i in range(arr.shape[0]):
sum += arr[i]**2
return sum
# Пример использования
arr = np.arange(1000000)
result = sum_of_squares(arr)
print(f"Сумма квадратов: {result}")
🔬 Что происходит?
1️⃣ Мы импортируем декоратор @jit из Numba
2️⃣ Применяем декоратор к нашей функции
3️⃣ Numba компилирует функцию при первом вызове
4️⃣ Последующие вызовы используют скомпилированную версию 🚀
📊 Результаты
На больших массивах Numba может ускорить код в десятки раз! Например, для массива из миллиона элементов:
- Обычный Python: ~1 секунда ⏱
- С Numba: ~0.01 секунды ⚡️
🎯 Советы по использованию
- Используйте режим nopython=True для максимальной производительности
- Numba лучше всего работает с числовыми типами данных и NumPy массивами
- Избегайте использования Python-объектов внутри jit-функций
👍4
This media is not supported in the widget
VIEW IN TELEGRAM
👎7🗿5
Python Hub - сборище Питонистов
Купите возможность посмотреть на черный квадрат😏 p.s. хочу посмотреть на то, как работают TG STARS
1️⃣. Привычно ли смотреть на текст НАД картинкой?🧐
2️⃣. Стоит ли применять такую логику в постах?
3️⃣. За что вы начали ставить дизлайки?🫣😔
4️⃣. Знали, что платный контент нельзя редачить? Знайте!
2️⃣. Стоит ли применять такую логику в постах?
3️⃣. За что вы начали ставить дизлайки?🫣😔
4️⃣. Знали, что платный контент нельзя редачить? Знайте!
👍4❤2👎1🥴1
Создание собственных декораторов с functools.wraps на Python 🐍✨
Что такое декораторы? 🤔
Декораторы в Python - это мощный инструмент для изменения поведения функций или классов без изменения их исходного кода. Они позволяют "обернуть" существующую функцию дополнительной функциональностью.
Зачем нужен functools.wraps? 🎁
При создании декораторов возникает проблема: метаданные декорируемой функции (такие как имя и документация) теряются. Здесь на помощь приходит functools.wraps!
Пример декоратора без functools.wraps 😕
Пример с использованием functools.wraps 🌟
Преимущества использования functools.wraps 🏆
1. Сохранение метаданных функции
2. Улучшение отладки и документирования
3. Совместимость с инструментами анализа кода
Что такое декораторы? 🤔
Декораторы в 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. Совместимость с инструментами анализа кода
👍1🤯1
Dask - это гибкая библиотека для параллельных вычислений в Python. Она позволяет обрабатывать большие объемы данных, распределяя нагрузку на несколько ядер процессора или даже на кластер компьютеров. 💻➡️💻➡️💻
- Масштабируемость: от ноутбука до кластера 📈
- Совместимость с экосистемой Python (NumPy, Pandas) 🐍
- Ленивые вычисления для оптимизации 🦥
import dask.array as da
# Создаем большой массив
x = da.random.random((10000, 10000), chunks=(1000, 1000))
# Выполняем операции
result = (x + 1).mean().compute()
print(f"Среднее значение: {result}")
import dask.dataframe as dd
# Читаем большой CSV файл
df = dd.read_csv('huge_file.csv')
# Выполняем группировку и агрегацию
result = df.groupby('category').agg({'value': 'mean'}).compute()
print(result)
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 сегодня и ощутите разницу в скорости обработки ваших данных! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Теперь вы можете писать и публиковать свои статьи на различные IT-темы на нашем сайте — devgurt.com
Статьи будут попадать в нашу группу с указанием автора, если вы пожелаете!
А ещё, мы запустили второй телеграм-канал — @devgurt 🚀.
Там будут появляться статьи не только по Python, но и по программированию и технологиям в целом. Присоединяйтесь и будьте в курсе всех новинок!
Подписывайтесь и делитесь своими знаниями с сообществом!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Модуль 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 лучше контролировать управление памятью в своих программах. Это особенно полезно при работе с большими объемами данных или в системах с ограниченными ресурсами.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
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)
😄 C++ 🔨 и Java ☕️ коды доступны в нашем телеграм канале, посвященному разработке не только на Python
- Сложность внесения изменений и добавления новых функций 🔒
- Повышенный риск появления ошибок при модификации 🐛
- Трудности в интеграции с современными технологиями 🔌
- Зависимость от устаревших библиотек и фреймворков 📚
- Постепенный рефакторинг 🔄
- Написание тестов для существующего кода 🧪
- Документирование существующей функциональности 📝
- Модульная замена частей системы
Работа с Legacy кодом - это неизбежная часть жизни многих разработчиков. Хотя он может представлять сложности, правильный подход к его обработке может значительно улучшить качество и поддерживаемость программного обеспечения. 🌟
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
TELEGRAM БОТ С ОПЛАТОЙ ЮКАССА на PYTHON | Подключить ЮMoney платежи AIOgram
В этом видео мы посмотрим, как к телеграм боту, написанному на пайтон подключается онлайн оплата и платежи через ЮKassa (юмани, юкасса, yookassa). Использовать будем библиотеку Aiogram.
🔥 Подписывайся на наш Телеграм-канал про Python 🔥
🖇 https://t.me/pythonhub001…
🔥 Подписывайся на наш Телеграм-канал про Python 🔥
🖇 https://t.me/pythonhub001…
❤🔥3👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17👍2
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Большинство людей попалось на уловке с 27/3. Дело в том, что деление в Python всегда выдает дробное число. То бишь 27/3 —> 9.0. Если вы хотите получить целое, то используйте // (целочисленное деление)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
FastStream - это мощная библиотека для Python, которая упрощает создание и управление потоковыми приложениями. Она предоставляет удобный интерфейс для работы с различными брокерами сообщений, такими как Kafka и RabbitMQ. 🐰🐘
- 🔧 Простота использования
- 🚀 Высокая производительность
- 🔄 Поддержка асинхронного программирования
- 🔌 Легкая интеграция с существующими проектами
Для начала работы с FastStream, установите библиотеку с помощью pip:
pip install faststream
## Пример использования FastStream с Kafka 🚀
Давайте рассмотрим простой пример использования 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().
смотреть больше примеров можно тут в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
Python и все, что с ним связано и для него нужно держится в топ 10 всех трех списков🤘🏻
Что думаете на данный счет?🤨
Больше статистик в этом посте.
Что думаете на данный счет?
Больше статистик в этом посте.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5