Pythoner
前往频道在 Telegram
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику. Сотрудничество - @flattys Цены - @serpent_media Канал на бирже: https://telega.in/c/pythonercode
显示更多6 811
订阅者
+124 小时
+27 天
-3730 天
帖子存档
6 811
Где вести задачи и проекты?
В Битрикс24 ✅
Бесплатный онлайн-сервис для бизнеса и совместной работы.
— Удобный планировщик задач для всей команды с чек-листами и комментариями.
— Популярные проектные методики: канбан, скрам, диаграмма ганта.
— Видеозвонки в один клик из чата.
— Календарь и слоты для совместного планирования.
— Умный ИИ-помощник для постановки четких тз.
Полный комплект для эффективности вашей команды.
Ставьте первую задачу прямо сейчас⚡
Начать
#реклама 16+
task-24.bitrix24.ru
О рекламодателе
6 811
✈️Когда работаешь с Git, важно не засорять репозиторий временными и локальными файлами. Для Python это особенно актуально.
➡️Вот минимальный набор, который должен быть в
.gitignore:
# Кэш компиляции Python
__pycache__/
*.py[cod]
# Виртуальное окружение
venv/
env/
# Файлы зависимостей и IDE
*.log
*.sqlite3
*.env
*.DS_Store
# VS Code / PyCharm и прочее
.vscode/
.idea/
# Файлы зависимостей
pip-wheel-metadata/
*.egg-info/
dist/
build/
💡Зачем это всё?
— Не лить в гит лишнее
— Исключить локальные настройки и окружение
— Сохранить проект чистым и переносимым
🐍Pythoner6 811
➡️Иногда элементы массива изначально неизвестны, но массив для их хранения необходим сейчас. Поэтому в NumPy есть функции для создания массива с исходным содержимым (по умолчанию тип массива — float64)
➡️
zeros((n, m)) - создает массив нулей с размером n x m.
>>> np.zeros((3, 2))
array([[0., 0.],
[0., 0.],
[0., 0.]])
➡️ ones((n, m)) - создает массив единиц с размером n x m.
>>> np.ones((2, 3))
array([[1., 1., 1.],
[1., 1., 1.]])
>>> np.ones((2, 2), dtype=np.int16)
array([[1, 1],
[1, 1]], dtype=int16)
➡️empty() - создает массив без заполнения. Исходное содержимое случайно и зависит от состояния памяти на момент создания массива (мусор, что в ней хранится).
>>> np.empty((2,2))
array([[5.e-324, 0.e+000],
[0.e+000, 5.e-324]])
🐍Pythoner6 811
✈️В Python объекты делятся на изменяемые (mutable) и неизменяемые (immutable). Это ключевая концепция, которая влияет на работу с переменными, аргументами функций и коллекциями.
➡️Пример:
def add_item(lst):
lst.append(100)
my_list = [1, 2, 3]
add_item(my_list)
print(my_list) # [1, 2, 3, 100]
➡️Списки — это изменяемый тип. Функция изменила оригинальный объект, переданный как аргумент. Если бы мы использовали кортеж (immutable), такое поведение вызвало бы ошибку.
Изменяемые типы: list, dict, set, bytearray
Неизменяемые: int, float, str, tuple, frozenset
💡Понимание этой разницы важно при:
• работе с функциями (аргументы по ссылке),
• проектировании безопасных API,
• использовании словарей и множеств (ключи должны быть immutable).
🐍Pythoner6 811
Week Offer для бэкендеров
Приглашаем бэкендеров с опытом от 3 лет на C++, Java/Kotlin, Python или Go.
Всего три шага, чтобы попасть в команду и создавать технологии, которые меняют реальность:
1) до 12 ноября оставьте заявку и пройдите отборочный этап.
2) 15 и 16 ноября решите задачи на технических секциях.
3) 17–21 ноября познакомьтесь с командами и получите офер.
Яндекс строит полезные сервисы для пользователей по всему миру. Чтобы усилить нашу инженерную культуру, мы ищем профессионалов, которые одержимы своим делом, находят новые решения и делают то, что другим не по силам.
Зарегистрироваться
#реклама
yandex.ru
О рекламодателе
6 811
🖼Библиотека PIL (Python Imaging Library) является одной из самых популярных библиотек для обработки изображений.
➡️Создание и редактирование изображений
Одной из главных возможностей библиотеки PIL является возможность создания и редактирования изображений. С ее помощью можно создавать новые изображения с определенными размерами и цветовыми схемами, а также редактировать существующие изображения. Например, можно добавлять текст, рисовать графические примитивы, наносить различные эффекты и многое другое.
➡️Обработка изображений в пакетном режиме
Библиотека PIL также предоставляет возможность обработки изображений в пакетном режиме. Это означает, что можно применять определенные операции к нескольким изображениям одновременно. Например, можно изменить размер и применить фильтр ко множеству изображений, что сэкономит время и упростит процесс обработки большого количества изображений.
🐍Pythoner
6 811
Как предотвратить ущерб от 89% кибератак
Высоко-высоко в горах, где орлы кружат над вершинами, а в долине царит тишина, однажды случилось странное. Не птица пролетела. Не молния ударила. Это был первый признак DNS-атаки.
Раньше в долине никто не мог сопротивляться киберпреступникам. Но пришел горец, который знал: 89% кибератак проходит через DNS-протоколы. Он решил защитить свой народ и установил в горах Solar DNS RADAR — зоркий, как взгляд орла. С тех пор сервис замечал опасность ещё до того, как тучи доходили до людей.
Solar DNS RADAR видит угрозы там, где другие видят облака. И вы можете узнать о нем подробнее на онлайн-презентации «Киберугрозы на радарах»
Мудрецы «Солара» расскажут:
✅ как предотвратить заражение вирусным ПО
✅ почему недостаточно только SWG-системы
Когда: 29 октября в 11:00.
Записаться онлайн
#реклама 16+
rt-solar.ru
О рекламодателе
6 811
✈️Функция all() проверяет, что все элементы итерируемого объекта приводятся к True. Это удобно для краткой проверки, выполняются ли все условия без написания явных циклов.
➡️Пример:
values = [1, True, "hello", 5]
result = all(values)
print(result) # True
🔫В этом примере all() вернёт True, потому что все элементы не являются ложными значениями (0, False, None, '' и т.п.).
💡all() удобно использовать при валидации форм, проверке флагов, условий, или когда нужно убедиться, что все элементы в коллекции удовлетворяют какому-либо критерию. Это делает код лаконичнее и понятнее.
🐍Pythoner6 811
✈️Функция any() используется для проверки наличия хотя бы одного True элемента в итерируемом объекте.
➡️Пример использования функции any(). Функция any() принимает итерируемый объект в качестве аргумента и возвращает True, если хотя бы один из элементов итерируемого объекта равен True. Давайте рассмотрим пример:
numbers = [0, 1, 2, 3, 4]
result = any(numbers)
print(result) # Output: True
⬆️В этом примере мы создали список чисел и передали его в функцию any(). Функция any() вернула True, потому что в списке есть хотя бы один элемент, равный True.
numbers = [0, 0, 0, 0, 0]
result = any(numbers)
print(result) # Output: False
⬆️В этом примере выводом будет False, так как все элементы - это 0.
0 — False
n < 0 или n > 0 или type(n) == str — True
🐍Pythoner6 811
Конференция «Алиса, что нового?» — уже скоро
Яндекс в прямом эфире представит новое поколение своих генеративных моделей — они расширят возможности нейросети Алисы и позволят ей совершать действия во внешнем мире. Старт прямого эфира — 28 октября в 12:00.
Первая конференция «Алиса, что нового?» состоялась весной этого года и была посвящена нейросети Алисе и анонсам умных устройств. На этот раз акцент будет сделан на крупном обновлении нейросети.
Подпишитесь, чтобы не пропустить начало
Записаться онлайн
#реклама 16+
О рекламодателе
6 811
✈️Новички часто удивляются, когда данные "меняются сами по себе". Причина — путаница между изменяемыми и неизменяемыми типами.
➡️Неизменяемые типы (immutable):
int, float, str, tuple, bool, frozenset
a = "hi"
b = a
a = "bye"
print(b) # hi
🔫b осталась "hi", потому что строки неизменяемы. a = "bye" создала новый объект.
➡️Изменяемые типы (mutable):
list, dict, set, bytearray, user-defined объекты
a = [1, 2, 3]
b = a
a.append(4)
print(b) # [1, 2, 3, 4]
🔫b тоже изменилась, потому что список — изменяемый. b = a — это ссылка на тот же объект.
➡️Что это значит на практике?
- Можно "безопасно" копировать неизменяемые значения
- С изменяемыми — нужно использовать .copy() или copy.deepcopy(), если не хочешь менять оригинал
➡️Пример с функцией:
def add_item(lst):
lst.append(99)
my_list = [1, 2]
add_item(my_list)
print(my_list) # [1, 2, 99]
🔫Список изменился! Потому что передали ссылку, а не копию.
💡Заключение
Неизменяемые типы создают копии при присваивании, изменяемые — передают ссылку.Всегда думай, что именно ты копируешь: значение или объект.
🐍Pythoner6 811
+3
Продвижение в Telegram с помощью Яндекс Директа
⚡Запустите продвижение в телеграм-каналах и привлекайте целевую аудиторию
📱 Таргетинг по тематикам, регионам и каналам в Telegram
Попробовать
#реклама
yandex.ru
О рекламодателе
6 811
Питонисты, общий сбор на Selectel Python MeetUp 🐍
📍 30 октября, 18:00, Санкт-Петербург или онлайн
Встретимся с топовыми спикерами из Selectel, Яндекса и Райффайзен Банка. Протестируем экосистему mypy на разных версиях Python, обсудим хаос-тесты и cron/systemd timers. В конце вас ждет афтепати с пиццей и нетворкинг с тимлидами.
А теперь конкретнее — на митапе вы узнаете:
✔️ как использовать экосистему mypy в инфраструктуре с 400+ микросервисов,
✔️ как запускать задачи по расписанию от cron/systemd timers до чистого Python,
✔️ насколько сильно можно нагрузить систему, прежде чем она сломается.
Мероприятие абсолютно бесплатное. Приходите в офис Selectel или подключайтесь онлайн. Регистрируйтесь по ссылке.
P.S. Отправляйте коллеге-питонисту и приходите на митап вместе 😎
Реклама. АО "Селектел". erid:2W5zFFwSz9e
6 811
✈️Декораторы позволяют модифицировать поведение функции без изменения её кода. Используются для логирования, проверки прав доступа, кеширования и других задач.
Декоратор — это функция, которая принимает другую функцию как аргумент и возвращает новую функцию.
➡️Пример:
def my_decorator(func):
def wrapper():
print("Выполнение функции:")
func()
print("Завершено.")
return wrapper
@my_decorator
def say_hello():
print("Привет, мир!")
say_hello()
Выполнение функции:
Привет, мир!
Завершено.
🔫Здесь декоратор @my_decorator оборачивает функцию say_hello(), добавляя вывод до и после её выполнения.
Это удобно для повторяющихся действий — логирование, проверка доступа и т.д.
🐍Pythoner6 811
Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля
Дизайнер карточек для маркетплейсов — востребованная и доходная профессия 💰
Научись ей бесплатно!
- Бесплатный доступ
- Разбор ДЗ от наставника
- Мощные кейсы в портфолио
Узнать больше
#реклама 16+
yudaevschool24.online
О рекламодателе
6 811
✈️Что такое 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 сегодня и ощутите разницу в скорости обработки ваших данных!
🐍Pythoner6 811
Онлайн-школа программирования Kata Academy
Гарантия трудоустройства после обучения. ЗП от 120 000р гарантировано в договоре
Хочешь войти в IT, но у тебя ноль опыта? Kata Academy — это твой шанс обрести новую профессию в программировании.
Онлайн-обучение позволяет учиться из любого города. 💻
Переходи на сайт и оставляй заявку – расскажем подробности и поможем выбрать программу обучения.
Начни свой путь в IT вместе с Kata Academy – мы тебя поддержим на каждом шаге! 🎓
Узнать больше
#реклама 16+
kata.academy
О рекламодателе
6 811
➡️Хендлеры - это функции, которые вызываются при получении определенного события от пользователя. В телеграм ботах, хендлеры используются для обработки входящих сообытий и выполнения определенных действий в ответ на эти события (отправка сообщения, взаимодействие с сообщением и т.д.).
Хендлеры могут быть созданы для обработки текстовых сообщений, фотографий, аудио и других типов сообщений, которые могут быть отправлены в телеграм бота.
➡️Как работают хендлеры?
При создании бота в телеграме, необходимо создать соединение с API телеграма. Затем, для каждого типа сообщений, необходимо создать соответствующий хендлер, который будет обрабатывать этот тип сообщения.
Когда пользователь отправляет сообщение в бота, телеграм сервер отправляет это сообщение в вашу программу, в которой запущен ваш бот. Затем, используя созданные хендлеры, ваша программа обрабатывает это сообщение и выполняет определенные действия в ответ на это сообщение.
🐍Pythoner
6 811
Комьюнити, полезное для всех бекенд-разработчиков
Как работает VK изнутри? Что происходит за интерфейсами, когда миллионы пользователей одновременно отправляют сообщения, загружают фото и смотрят клипы?
В канале Backend VK Hub мы рассказываем о работе всех наших сервисах: от VK Play до Tarantool. Делимся подходами к масштабированию, оптимизации и новым архитектурным решениям. Открыто дискутируем, а также регулярно публикуем вакансии в нашу команду.
Здесь — реальные кейсы, технические разборы, советы от наших экспертов и возможность поговорить с ними в любой момент. Подписывайся!
Подписаться
#реклама 16+
О рекламодателе
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
