TGViewer
Channel Public Channel
Just Python

Just Python

@justpython_it

🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Subscribers
9.83K
Photos
4.7K
Videos
17
Links
4.7K
Recent Posts 19 shown
Post #6135 95
Замена переменных на месте

Этот аккуратный трюк поможет сэкономить несколько строк кода.

#theory // Just Python
Post #6134 122
List Comprehensions

List comprehension может заменить неэстетичные циклы, используемые для заполнения списка. Синтаксис выглядит следующим образом:
[ expression for item in list if conditional ]


Поскольку здесь можно использовать выражения, вам доступна работа с математикой, вызов внешней функции и, наконец, вы сможете использовать «if» для фильтрации списка.

#theory // Just Python
Post #6133 144
Data classes

Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:

- возврат нескольких значений или словарей;
- класс данных требует минимального количества кода;
- возможность сравнения классов данных;
- возможность распечатать класс данных для отладки при помощи repr;
- снижение вероятности ошибок в связи с требованием класса данных type hints.

#theory // Just Python
Post #6132 142
Многоточие в Python

Многоточие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python

>>> ...
# Вывод покажет: Ellipsis


Применяется он преимущественно в операциях нарезки матриц в NumPy. Однако можно использовать его вместо обычного pass в качестве плэйсхолдера в функции, которую еще не реализовали.

#theory // Just Python
Post #6131 151
Сглаживание вложенного списка

Вложенные списки — частое явление, но иногда нужно "сгладить" их до одного уровня.

Для многоуровневых списков удобнее использовать рекурсивный подход.

#theory // Just Python
Post #6128 167
Список с условием (List Comprehension)

List comprehension — один из самых мощных инструментов Python, позволяющий создавать списки одной строкой кода.

Этот подход не только компактнее, но и быстрее традиционных циклов. Важно не злоупотреблять сложными условиями — код должен оставаться читаемым. Однажды я переписал цикл из 15 строк в одну строку list comprehension, и код стал работать на 30% быстрее.

#theory // Just Python
Post #6127 188
Простой способ перевернуть строку

Этот трюк со срезами [::-1] я использую почти каждый день. Он работает значительно быстрее, чем итерационные методы типа ''.join(reversed(s)), что доказано бенчмарками. Кстати, тот же метод применим и к спискам.

#theory // Just Python
Post #6126 170
POST запросы и отправка данных

Обратите внимание на параметр json= вместо data=. Он автоматически сериализует Python-словарь в JSON и устанавливает правильный заголовок Content-Type.

#theory // Just Python
Post #6124 193
Функция для измерения времени выполнения кода

Отладка производительности - частая головная боль. Простой декоратор для измерения времени выполнения функций спасает в таких ситуациях.

Можно модифицировать этот декоратор, добавляя вывод аргументов функции или интеграцию с системой логирования проекта.

#theory // Just Python
Post #6123 181
Бинарный поиск в Python

Бинарный поиск - один из фундаментальных алгоритмов, который работает намного эффективнее линейного поиска на отсортированных данных.

Формула left + (right - left) // 2 вместо обычной (left + right) // 2 защищает от переполнения при работе с большими массивами. Такая мелочь однажды спасла меня от трудноуловимого бага в промышленном коде.

#theory // Just Python
Post #6121 175
16 сентября в Arena Breakout: Infinite выходит седьмой сезон — «Утопия»

Если не сталкивались с игрой: это бесплатный тактический шутер про вылазки за добычей. Заходишь на локацию со своим снаряжением, набираешь лут и пытаешься уйти живым. Погиб — потерял всё, что было с собой.

Что завозят в новом сезоне:

• Заражённая зона — три карты превращаются в биоопасные локации с ночью, туманом и ливнем, по ним бродят шесть видов мутантов. Другие игроки при этом никуда не делись
• Режим на выживание — отдельный PvE без риска: снаряжение с собой не берёшь и ничего не теряешь, просто отбиваешься от волн и открываешь усиления
• Торговец прямо в рейде — можно обменять припасы и разведданные или докупить снаряжение
• Два новых ствола, сезонные обвесы и переработанная стрельба: дальность выше, попадания в голову ощутимее
• На старте бесплатно выдают прокачиваемую сапёрную лопату, скины и билеты, а между игроками разыгрывают 200 000 очков

Игра бесплатная, качается в Steam, российский регион поддерживается → https://abi.go.link/2wzTb
Post #6120 213
Алгоритм Евклида на Python

Алгоритм Евклида - элегантное решение для нахождения НОД

Расширенный алгоритм Евклида особенно полезен в криптографии и при решении линейных диофантовых уравнений. Я использовал его при реализации алгоритма RSA для учебного проекта.

#theory // Just Python
Post #6119 214
Функция проверки чисел на простоту

Оптимизированный алгоритм для проверки простоты числа.

В этом алгоритме я использую свойство, что все простые числа (кроме 2 и 3) можно представить в виде 6k ± 1. Это сокращает количество проверок примерно в 3 раза по сравнению с наивным перебором до квадратного корня.

#theory // Just Python
Post #6118 207
Анализ производительности популярных подходов с бенчмарками часть 2

Метод dict.get() обычно работает примерно на 30-40% быстрее, чем явная проверка через if key in dict, и примерно в 2-3 раза быстрее, чем использование блока try-except.

Но не всегда стандартные методы лучше. Например, при сортировке списков с пользовательским ключом, использование operator.itemgetter() может быть на 10-15% быстрее lambda-функций.

#theory // Just Python
Post #6117 197
Анализ производительности популярных подходов с бенчмарками часть 1

Интуитивные представления о производительности нередко бывают ошибочными. Python - язык с множеством способов решения одной задачи, и выбор правильного подхода может дать огромный прирост производительности. Давайте сравним некоторые распространенные операции с помощью простых бенчмарков.

Результаты могут удивить: join обычно в 10-15 раз быстрее, чем последовательное использование оператора +. Причина проста - строки в Python неизменяемы, и каждая операция + создает новый объект.

list comprehension стабильно показывает результаты на 15-20% лучше, чем filter() с lambda-функцией. Однако этот разрыв может меняться в зависимости от сложности фильтрующей функции. Особенно впечатляет разница при доступе к элементам словаря

#theory // Just Python
Post #6116 205
Безопасное получение вложенных значений

Доступ к вложенным атрибутам объектов или вложенным ключам словарей часто приводит к ошибкам.

Эта функция может сократить количество проверок в коде на порядок, сделав его намного чище и понятнее.

#theory // Just Python
Post #6115 189
Проверка типов данных

При отладке или работе с незнакомым API бывает полезно узнать тип и структуру объекта.

Этот простой инструмент неоднократно выручал меня при работе с API, возвращающими сложно структурированные данные.

#theory // Just Python
Post #6114 201
Обработка ошибок и повторные попытки

API могут быть нестабильными, поэтому всегда стоит реализовать механизм повторных попыток.

Экспоненциальная задержка между попытками (backoff_factor * (2 ** retries)) помогает избежать перегрузки сервера и дает ему время восстановиться.

#theory // Just Python
Post #6113 190
Асинхронные запросы с aiohttp

Когда нужно выполнить множество запросов одновременно, асинхронный подход значительно ускоряет работу.

В одном из проектов замена последовательных запросов на асинхронные сократила время выполнения с 12 секунд до менее чем 1 секунды. Главное - используйте одну сессию для всех запросов, так как создание сессии - дорогостоящая операция.

#theory // Just Python
Older posts →

About this channel

How can I read @justpython_it without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Just Python: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Just Python have?
Just Python (@justpython_it) has 9.83K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Just Python know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →