Python академия
الذهاب إلى القناة على Telegram
Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter
إظهار المزيد7 292
المشتركون
+224 ساعات
-137 أيام
-4230 أيام
أرشيف المشاركات
7 293
Протоколы
Термины "протокол итератора" или "протокол дескрипторов" уже привычны и используются давно. Но теперь можно описывать протоколы в виде кода и проверять их соответствие на этапе статического анализа.
Протокол описывается как обычный класс, наследующийся от Protocol. Он может иметь методы (в том числе с реализацией) и поля. Реальные классы, реализующие протокол могут наследоваться от него, но это не обязательно, как показано в примере.
Хоть это и не совсем интерфейсы, но все же классная штука. Еще важно, что протоколы, как и все остальные фишки аннотаций типов, используются в основном со статически типизированным mypy.
Подписывайтесь на канал 👉@pythonofff
7 293
Контекст функций
Язык Python допускает применение вложенных функций, в которых вы можете определить внутреннюю функцию внутри внешней. В Python есть несколько замечательных свойств, связанных со вложенными функциями.
Подписывайтесь на канал 👉@pythonofff
7 293
Ответ на вопрос и Музыка ваша 90 дней бесплатно
Яндекс Музыка 90 дней бесплатно (вместо 299 ₽ в месяц) для вас и 3-х ваших близких.
Попробуйте сейчас!
Попробовать
#реклама 16+
music.yandex.ru
О рекламодателе
7 293
Избегайте циклы с коллекциями
Представим задачу: требуется создать новый список, элементами которого будут являться квадраты чисел другого списка. Большинство сразу же напишут цикл for.
Но такой подход займет как минимум три строчки: объявление новой переменной, создание цикла и кода внутри него. Более того, также снижается скорость работы скрипта.
В коде выше мы привели две достойные альтернативы – генератор списка и функция map. В обоих вариантах не только код становится лаконичнее, но и заметно повышается производительность.
Подписывайтесь на канал 👉@pythonofff
7 293
Декораторы в Python
Декораторы — мощный инструмент в Python. Вы можете их использовать для тонкой настройки работы класса или функции. Декораторы можно считать функцией, которая применена к другой функции. Чтобы определить функцию-декоратор для декорируемой функции, используется знак @ и после него название функции. Из этого следует, что декоратор принимает в качестве аргумента функцию, которою он декорирует.
Рассмотрим функцию square_decorator(), которая в качестве аргумента принимает функцию и в результате также выдают функцию.
Подписывайтесь на канал 👉@pythonofff
7 293
Курс по Java-разработке с гарантией трудоустройства
Если ты не найдешь работу, берем все расходы за обучение на себя.
Поступи и начни карьеру разработчика уже через 9 месяцев!
Обучение в Kata Academy построено по принципу win-win:
— ты получаешь работу в Москве или Санкт-Петербурге с хорошей зарплатой, мы получаем процент за инвестиции в тебя;
— в наших интересах научить тебя так, чтобы твоя зарплата была как можно выше;
— если ты потеряешь работу, мы поможем найти новую;
— мы не зависим от банков и их рассрочек — кризис не повлиял на доступность курсов.
Мы не работаем на поток, для поступления нужно сделать тестовое задание. Этим ты покажешь, что действительно готов учиться и хочешь работать. Оставь заявку по ссылке!
Узнать больше
#реклама 18+
kata.academy
О рекламодателе
7 293
Функции только с позиционными параметрами
Если с помощью inspect посмотреть на то, как объявлена встроенная функция float, то увидим, что есть входный параметр x и еще какой-то непонятый слэш.
Однако при попытке вызвать функцию и передать туда именованный аргумент, а не позиционный, получим исключение. А если передать аргумент, явно не указывая имя параметра, то все работает.
Такое поведение как раз задает тот слэш. Параметры, записанные до него, можно передать только как позиционные. После него – как угодно, все будет работать стандартно.
Подписывайтесь на канал 👉@pythonofff
7 293
Пример генератора данных из библиотеки Keras
Одно из типичных применений генераторов — это использование генератора данных в библиотеке Keras. Причина, по которой он полезен, заключается в том, что мы не хотим хранить все данные в памяти, а хотим создавать их на лету, когда это необходимо в процессе обучения. Дело в том, что в Keras модель нейронной сети обучается батчами, поэтому генератор должен выдавать строго определенные пакеты данных.
Подписывайтесь на канал 👉@pythonofff
7 293
Более 250 000 книг, аудиокниг и комиксов
Доступ к Букмейту для вас и трех ваших близких до конца весны бесплатно. Попробуйте!
- Синхронизация аудио с текстом
- Удоный ридер и читалка
- Подборки по жанрам и интересам
- Все книги и комиксы в одной подписке
Начинайте слушать аудиокниги в приложении Букмейта, продолжайте на колонке с Алисой
Получить предложение
#реклама 18+
mrqz.me
О рекламодателе
7 293
Простой, но мощный веб-фреймворк
Самым популярным фреймворком для разработки серверной части на Python является Flask. К слову, он обгоняет даже Django по звездам на GitHub.
Flask предназначен для быстрого и легкого старта работы с возможностью масштабирования до сложных приложений. А коммьюнити предоставляет множество расширений для фреймворка.
Для создания минимального рабочего приложения достаточно кода выше. После запуска такого скрипта можете перейти в браузере по адресу http://localhost:5000/ и посмотреть результат.
Подписывайтесь на канал 👉@pythonofff
7 293
Как сделать запрос PUT
Нам часто требуется обновить существующие данные в API. Используя запрос PUT, мы можем обновить данные полностью. Это означает, что, когда мы делаем запрос PUT, он заменяет все старые данные новыми.
В запросе POST мы создали новый продукт с идентификатором 21. Давайте обновим старый продукт на новый, сделав запрос PUT к конечной точке products/<product_id>.
Подписывайтесь на канал 👉@pythonofff
7 293
Курс «Разработчик 1С» от Яндекса.
За 6 месяцев освоите один из самых простых языков программирования и пройдёте стажировку
Зарегистрироваться
#реклама 16+
practicum.yandex.ru
О рекламодателе
7 293
Исполняем код в виде строки
Эта функция нужна для того, чтобы выполнять код, переданный в виде строки.
Первым аргументом передается сама строка, в которой записан код, а также можно передать еще два опциональных аргумента globals и locals в виде словарей.
Но в продакшне такое использовать не рекомендуется, так как подобная штука крайне небезопасна. А для общего развития знать полезно.
Подписывайтесь на канал 👉@pythonofff
7 293
Как сделать PATCH-запрос
Иногда нам не нужно полностью заменять старые данные. Скорее мы хотим изменить только определенные поля. В этом случае мы используем запрос PATCH.
Давайте обновим категорию (category) продукта обратно с clothing (одежды) на electronic (электронику), сделав запрос PATCH к конечной точке products/<product_id>
Подписывайтесь на канал 👉@pythonofff
7 293
Система лояльности в бизнесе
В каждом бизнесе важна система, а фундамент в такой системе - это клиенты.
Но как сделать, чтобы клиенты возвращались и НЕ уходили к конкурентам? 🏃♂️
Решение - "оцифровка" клиентской базы. На сегодняшний день одно из лучших решений на рынке - система лояльности от UDS. 👌
Даже самый небольшой бизнес, начиная с нуля оцифровывать клиентов, через год будет иметь уже более 3500 клиентов в базе. ⚡ А это увеличение повторных покупок!💰
Еще больше информации на канале Маркетинг - цифровые решения ✅
Подписаться
#реклама
О рекламодателе
7 293
Разница между == и is
Многие разработчики не понимают разницу этих двух операторов сравнения. Из-за неправильного использования == и is в приложениях могут возникнуть странные ошибки.
Оператор == проверяет равенство значений двух объектов. А оператор is проверяет идентичность самих объектов. Его используют, чтобы удостовериться, что переменные указывают на один и тот же объект в памяти.
Но Python в целях производительности кеширует малые числа и короткие строки, поэтому возможны некоторые казусы, как в примере выше.
Подписывайтесь на канал 👉@pythonofff
7 293
Освобождение памяти
Механизм сборки мусора вручную можно настроить по времени или событиям.
Подписывайтесь на канал 👉@pythonofff
7 293
Оплата зарубежных бизнес-сервисов в правовом поле РФ
Сегодня оплата лицензий на западное ПО — задача непростая, но выполнимая. Однако, если вы действуете от юридического лица — всё становится немного сложнее: кроме уверенности в надёжности партнёра, осуществляющего трансграничные платежи, так же потребуется исчерпывающее документальное подтверждение движения средств, полный комплект закрывающих документов и хорошее юридическое сопровождение сделок.
В mt.PRO мы учли все нюансы и особенности работы с зарубежными подрядчиками для юридических лиц. Поможем оплатить зарубежные инвойсы и получить выручку от иностранных партнеров. Продлим лицензии и купим ПО у вендоров.
Работаем только с юридическими лицами РФ, в полном соответствии с действующим законодательством.
Подать заявку
#реклама
money-transfer.pro
О рекламодателе
7 293
Функции sleep() и time()
Чтобы понять смысл функции
sleep(), разберём простой пример. Три строки выводятся в определённый промежуток времени – задержку обеспечивает sleep.
Сперва выводится первая строка, затем идёт функция sleep(), которая задерживает вывод на 2 секунды. Точно так же для следующего print мы используем sleep на 5 секунд.
Рассмотрим пример использования sleep() для создания промежутка времени. Мы используем функцию time(), чтобы узнать текущее время, и localtime(), чтобы получить текущие дату и время в конкретной местности. Кроме того, есть функция strftime() («string from time»), которая возвращает время в виде строки в указанном формате.
В результате интервал между двумя моментами времени составил две секунды.
Подписывайтесь на канал 👉@pythonofff7 293
Генераторы эндотермического газа RX!
Быстрый срок поставки: 2-6 месяцев.
Гарантированный сервис на всей территории РФ.
Безопасность в эксплуатации.
Точный контроль соотношения газов по компонентам газовой смеси.
Узнать больше
#реклама
endogen.a-mz.ru
О рекламодателе
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
