es
Feedback
Senior Python Developer

Senior Python Developer

Ir al canal en Telegram

№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy

Mostrar más
2025 año en númerossnowflakes fon
card fon
44 575
Suscriptores
Sin datos24 horas
-907 días
-55930 días
Archivo de publicaciones
Photo unavailableShow in Telegram
Важное про цифры и Юникод 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 — не единственные символы, которые считаются цифрами. Python следует правилам Юникода и обрабатывает несколько сотен символов как цифры. Полный список находится здесь. Это крайне важно знать, потому что эти символы влияют на такие функции, как int, unicode.isdecimal и даже re.match. Думаю, в один момент это знание сэкономит вам время на исправление "бага" с такими странными символами. Предупрежден — значит вооружен.
Mostrar todo...
#вопросы_с_собеседований Что такое PYTHONPATH? PYTHONPATH — это переменная среды, которая сообщает интерпретатору, где найти файлы модулей, импортированные в программу. Следовательно, она должна включать в себя каталог исходной библиотеки Python и каталоги, содержащие исходный код Python. Вы можете вручную установить PYTHONPATH, но обычно это делается установщиком Python.
Mostrar todo...
#вопросы_с_собеседований В Python идут вызовы по значению или вызовы по ссылке? Как аргументы передаются — по значению или по ссылке? Всё в Python является объектом, и все переменные содержат ссылки на объекты. Значения ссылок соответствуют функциям; в результате вы не можете изменить значения ссылок. Однако вы можете изменить объекты, если они это допускают.
Mostrar todo...
Photo unavailableShow in Telegram
Паттерн проектирования Singleton Одиночка или же синглтон – это паттерн проектирования, описывающий объект, у которого имеется один единственный экземпляр. Метод __new__ вызывается для создания экземпляра класса перед вызовом __init__. На вход первым аргументом метод принимает сам класс, а возвращать должен уже экземпляр (даже можно экземпляр и другого класса). В примере мы проверяем, есть ли значение у атрибута instance. Если нет, то присваиваем атрибуту экземпляр этого же класса. А если экземпляр уже создан, то просто его возвращаем. То есть при вызове конструктора класса Singleton будет возвращаться один и тот же объект из памяти.
Mostrar todo...
Photo unavailableShow in Telegram
Перечисление Итерация по любому содержимому в Python проста – обычный цикл for. Однако очень часто требуются одновременно и индекс элемента, и сам элемент. Программисты используют len() и range() для перебора списка по индексу, но есть более простой способ.
Mostrar todo...
Photo unavailableShow in Telegram
Photo unavailableShow in Telegram
Строим линейные графики с помощью Python Визуализация данных в виде линейного графика — максимально простая задача. Достаточно передать объект в качестве аргумента функции plot() для получения графика с несколькими линиями. Результат нашего кода представлен в посте ниже.
Mostrar todo...
Photo unavailableShow in Telegram
Контекстные менеджеры Контекстные менеджеры позволяют задать поведение при работе с конструкцией with: при входе и выходе из блока. Это упрощает работу с ресурсами в части их захвата и освобождения; транзакциями, когда нужно либо полностью закончить транзакцию, либо откатить ее целиком. Простейшей функцией, использующей данный принцип, является функция open. Каждый раз, когда мы открываем файл, нам необходимо его закрыть, чтобы вытолкнуть выходные данные на диск (на самом деле Python вызывает метод close автоматически, но явное его использование является хорошим тоном). Чтобы каждый раз не вызывать метод close, мы можем воспользоваться контекстным менеджером функции open, который автоматически закроет файл после выхода из блока.
Mostrar todo...
Photo unavailableShow in Telegram
Использует ли Flask модель MVC, и если да, приведите пример, показывающий шаблон MVC в приложении? По сути, Flask — это минималистичный фреймворк, который ведет себя так же, как фреймворк MVC. Таким образом, MVC идеально подходит для Flask, и шаблон для MVC мы рассмотрим в примере на картинке.
Mostrar todo...
9 библиотек Python для разработки игр Разработка игр на Python — это не только PyGame, Tower Defense и платформеры, а это и DOOM, и MMORPG, и симуляторы свиданий/отношений, и визуальные новеллы, и конкурсы DARPA, и моделирование вселенной, и автотрекинг низкоорбитальных спутников. В статье список 9 библиотек для разработки игр и полезные гайды к каждой библиотеке. Смотреть статью
Mostrar todo...
Photo unavailableShow in Telegram
Дизассемблирование Встроенный модуль dis позволяет декомпилировать написанную вами программу в байт-код Python. На картинке показана работа этого модуля на примере функции, но такое можно повторить и с классами – в таком случае все его функции будут дизассемблированы.
Mostrar todo...
Photo unavailableShow in Telegram
Символы Юникода Добавлять юникод-символы в строковые литералы можно не только с помощью их номеров, но и по их названиям. Более того, такая запись символов юникода совместима и с f-строками, а это очень удобно.
Mostrar todo...
Photo unavailableShow in Telegram
Функция reduce Модуль functools позволяет хорошо раскрыть функциональные возможности Python. Например, в functools есть интересная функция reduce, которая позволяет «сжимать» данные, применяя последовательно функцию и запоминая результат. Таким образом, в примере выше reduce умножает 1 на 2, затем результат этого умножения на 3 и так далее.
Mostrar todo...
Photo unavailableShow in Telegram
Создание изображений Чтобы создать новое изображение с помощью библиотеки Python Pillow PIL, используйте метод image_new(). В этом примере мы создаем новое изображение в RGB с размером (400, 300). Мы не будем указывать цвет, так как метод new() считает все значения по умолчанию 0 – получается черный.
Mostrar todo...
Photo unavailableShow in Telegram
Подсчет количества слов в текстовом файле В начале с помощью функции open открываем файл, затем считываем данные оттуда в строку и делим по пробелам. После этого выводим длину получившегося массива.
Mostrar todo...
Photo unavailableShow in Telegram
Генерируем QR-код Необходимый пакет ставится командой
pip install qrcode
. Также должна быть установлена библиотека pillow. Программа с картинки создаёт QR-код, который при сканировании ведёт пользователя на сайт google, и сохраняет его в новую картинку. Теперь вы можете генерировать QR-коды в своих приложениях. Полная документация по ссылке.
Mostrar todo...
Photo unavailableShow in Telegram
Ускоряем или замедляем видеоролик в несколько раз с помощью Python MoviePy — это модуль Python для редактирования видео, который можно использовать для основных операций с видео и GIF. С помощью метода clip.fx(vfx.speedx, m) мы ускоряем или замедляем видеоролик, используя переменную m в качестве показателя изменения скорости видео. Подробнее можно почитать здесь.
Mostrar todo...
Photo unavailableShow in Telegram
Функция divmod Используется для деления с остатком. Возвращает кортеж, где в первый элемент записан результат деления, а во второй — остаток. Работает с разными системами счисления.
Mostrar todo...
Photo unavailableShow in Telegram
Вставляем одно изображение в другое с помощью Pillow Метод paste() из библиотеки Pillow, предоставляет возможность вставки одного изображения в другое изображение. По умолчанию изображение вставляется в верхней левой части фоновой картинки. Подробнее можно ознакомиться здесь.
Mostrar todo...
Photo unavailableShow in Telegram
Метод str.expandtabs() Метод str.expandtabs() возвращает копию строки str, в которой все символы табуляции t заменяются одним или несколькими пробелами, в зависимости от текущего столбца и заданного размера табуляции tabsize. Для замены табуляций изначально номер столбца задаётся равным нулю и начинается посимвольный обход строки. При обходе строки str, если попадается символ табуляции t, то на его место вставляется столько пробелов, что бы текущий номер столбца стал равным позиции следующей табуляции. При этом сам символ табуляции не копируется. Если встречается символ переноса строки n или возврата каретки r, то он сохраняется в строке, а текущий номер столбца сбрасывается на 0. Любой другой символ копируется без изменений, а текущий столбец увеличивается на единицу.
Mostrar todo...