Senior Python Developer
Открыть в Telegram
№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy
Больше2025 год в цифрах

44 575
Подписчики
Нет данных24 часа
-907 дней
-55930 день
Архив постов
00:05
Видео недоступноПоказать в Telegram
Генерация 2D мира с помощью клеточного автомата на Python
Клеточным автоматом называют множество клеток, которые можно представить в виде матрицы с x‑строк и y‑столбцов.
Смотреть статью
гифкапитон.mp42.84 KB
Фото недоступноПоказать в Telegram
Как я стал Python-разработчиком с нуля — мой опыт становления тестировщиком
Тестировщик — специалист, который отлавливает ошибки на всех этапах разработки проекта.
Смотреть статью
Фото недоступноПоказать в Telegram
Особая переменная __name__
Когда интерпретатор Python работает с программой, в начале он устанавливает некоторые специальные переменные. Одна из них — name.
Если скрипт запущен напрямую, то в переменную присваивается значение main, в случае импорта — название модуля.
name по умолчанию также есть у всех классов и функций.
Фото недоступноПоказать в Telegram
Метод re.sub()
re.sub(pattern, repl, string)
Ищет шаблон в строке и заменяет его на указанную подстроку. Если шаблон не найден, строка остается неизменной.
Фото недоступноПоказать в Telegram
Преобразуем текст в аудио
Чтобы изменить текст на аудио, установите модуль с расширением pip install pyttsx3.
В этой библиотеке есть много модулей, с помощью которых вы можете попробовать изменить голос, громкость и скорость звука.
Фото недоступноПоказать в Telegram
Создание таблиц
Хорошей библиотекой является PrettyTable. Она позволяет быстро создать красивую таблицу для вывода в консоль. Если вы где-то учитесь или же часто нужно демонстрировать информацию, то рекомендую сохранить название этой библиотеки.
Работать с ней просто. Нужно лишь создать объект на основе PrettyTable и далее поместить в него название рядов и сами ряды.
Таблицу можно даже выровнять по определенному краю, а также можно указать сортировку по определенному полю.
Фото недоступноПоказать в Telegram
Красивая консоль
Зачастую вся информация в консоли — скучный белый или же черный текст. Согласитесь, такое и читать не интересно. Благо в питоне есть библиотека TermColor.
Установка библиотеки: pip install termcolor2. За счет этой библиотеки мы быстро можем настроить, какие именно стили будут применены к тексту в консоли.
Фото недоступноПоказать в Telegram
Размер в байтах
Этот пример возвращает длину строки в байтах, что удобно, когда вам нужно знать размер строковой переменной.
Фото недоступноПоказать в Telegram
Назначение переменных и функций по условию
Иногда элементы if настолько просты, что кажется излишним тратить на них строки. В этом случае имеет смысл применить тернарный оператор if/else:
A = Y if X else Z
Интерпретатор выполняет выражение Y, если объект X – истина, и Z, если X – ложь. Не злоупотребляйте этим выражением, если X, Y, Z имеют сложную форму записи.
Тернарный оператор можно использовать не только для переменных, но и для функций.
Фото недоступноПоказать в Telegram
Функция groupby()
Функция groupby() модуля itertools создает итератор, который возвращает последовательные ключи и группы из итерируемой последовательности iterable.
Ключ key - это функция, вычисляющая значение ключа для каждого элемента. Если ключ не указан или равен None, ключом по умолчанию является функция тождественности и возвращает элемент без изменений. Как правило, iterable уже должна быть отсортирована по той же ключевой функции.
Фото недоступноПоказать в Telegram
Валидные значения словаря
В словарь можно поместить что угодно – вы не ограничены числами или строками. Можете поместить списки внутрь словаря и получить доступ к вложенным значениям.
Фото недоступноПоказать в Telegram
Query JSON
JMESpath – это язык запросов для JSON, который позволяет получать необходимые данные из документа или словаря JSON. Библиотека доступна как для Python, так и для других ЯП, что расширяет ее возможности.
Фото недоступноПоказать в Telegram
Функция multimode()
Функция multimode() модуля statistics возвращает список наиболее часто встречающихся значений элементов в последовательности data в том порядке, в котором они были обнаружены.
Аргумент data может быть последовательностью или итерацией.
Функция statistics.multimode() вернет более одного результата, если в последовательности есть несколько элементов с одинаковым максимальным числом повторений или пустой список, если данные data пусты.
Фото недоступноПоказать в Telegram
Функция shorten()
Функция shorten() модуля textwrap усекает заданный текст, чтобы он поместился в заданную ширину width.
Сначала все пробелы заменяются одиночными пробелами. Если результат соответствует ширине, он возвращается. В противном случае с конца отбрасывается слова, чтобы оставшийся текст плюс заполнитель placeholder (по умолчанию [...]) поместились в указанную ширину width.
Фото недоступноПоказать в Telegram
Открытие веб-страницы
Выше приведен простой рецепт открытия веб-страниц из вашего терминала Python или кода.
Фото недоступноПоказать в Telegram
Наибольший общий делитель
В стандартной математической библиотеке Python есть отличные методы, которые упрощают практически любые базовые математические вычисления. Например метод gcd(), выдающий наибольший общий делитель.
Фото недоступноПоказать в Telegram
Транспонирование двумерного массива данных
Чтобы поменять местами строки и столбцы матрицы, созданной с помощью встроенных типов данных, воспользуйтесь функцией zip.
Фото недоступноПоказать в Telegram
Веб-парсинг
Вы встречаете много данных каждый день на нескольких сайтах. Подумайте, как было бы здорово, если бы вы могли легко получить доступ к этим данным. Python делает данный процесс еще проще благодаря своей удивительной поддержке и библиотекам. Данные в сети неструктурированы, и Python предоставляет простой способ для анализа и использования этих данных и даже для дальнейшего анализа и операций.
Фото недоступноПоказать в Telegram
uuid
Стандартный модуль uuid — быстрый и простой способ сгенерировать UUID (universally unique identifier, глобально уникальный идентификатор).
Так мы создаём случайное 128-битное число, которое почти наверняка будет уникальным.
Существует более 2¹²² возможных UUID. Это более 5 ундециллионов или 5,000,000,000,000,000,000,000,000,000,000,000,000.
Вероятность нахождения дубликатов в заданном наборе крайне мала. Даже при наличии триллиона UUID вероятность того, что среди них есть дубликат, гораздо меньше, чем один к миллиарду.
Вполне недурно для двух строк кода.
Фото недоступноПоказать в Telegram
Получение индекса максимального элемента в списке
Python не предоставляет процедуры для прямого получения индекса максимального или минимального элемента в списке или кортеже. К счастью, есть элегантный способ сделать это.
Если есть два или более элементов с максимальным значением, данный код возвращает индекс последнего.
