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 не предоставляет процедуры для прямого получения индекса максимального или минимального элемента в списке или кортеже. К счастью, есть элегантный способ сделать это.
Если есть два или более элементов с максимальным значением, данный код возвращает индекс последнего.
