Telegram Web Link
Курс и конвертер валют в Python

Для работы с разными валютами и их курсами существует библиотека forex-python.

С её помощью можно как узнать курс любой валюты, так и сконвертировать одну валюту в другую.

Ознакомиться с интерактивным примером кода можно тут.

#currency #forex_python
Программирование — это базовый навык разработчика, как чтение или счёт. По-настоящему крутой программист умеет писать код, который решает задачи бизнеса и умножает число довольных пользователей. Хочешь научиться этому за 4 года бакалавриата? Тогда готовься к сложности «Hard» и поступай в Институт iSpring — вуз на базе международной IT-компании.

После выпуска тебе не придётся искать стажировки или переучиваться на курсах, чтобы получить оффер от IT-компании. Поступив в Институт iSpring, ты уже после 1 курса начнёшь работать Junior-разработчиком, а к концу 4 курса повысишь грейд до Middle с опытом управления командами. Да, всё это можно сделать за бакалавриат!

Что нужно знать, если хочешь поступить:
— обучение очное, 70 из 120 мест — с грантовой поддержкой;
— учебная программа развивает hard skills и soft skills: от железа и веб-разработки до бизнес-практики и тренингов по эффективности;
— лабораторки основаны на реальных рабочих задачах в IT-компании;
— преподаватели — сотрудники международной компании с большим опытом в обучении;
— в кампусе есть библиотека с проф. литературой, столовая и тренажёрка;
— финансовый вопрос — не препятствие к поступлению. Если у поступившего нет возможности оплачивать обучение, ему поможет компания-грантодатель.

Как поступить:
Чтобы стать студентом Института iSpring, нужно пройти внутренние этапы поступления (тест на интеллект, видео-визитка, эссе) и сдать ЕГЭ по русскому языку и профильной математике на 60+ баллов.

Подробности ищи тут: ispring.institute

АНО ВО «РУМТ»
ИНН 1215144727
Kra243a3T
Вычисление размера объектов

Для вычисления размера объекта мы можем использовать функцию getsizeof(object[, default]) из модуля sys. Так как в python все по сути является объектами, то и вычислить размер в памяти мы можем у любого такого объекта.

И хотя все built-in (встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов.

Аргумент default позволяет определить значение, которое будет возвращено, если тип объекта не предоставляет средства для извлечения размера и вызовет TypeError .

Функция getsizeof вызывает метод __sizeof__ объекта и добавляет дополнительные служебные данные сборщика мусора.

#getsizeof
Многопоточность

В модуле threading новый поток выполнения может начинаться с нового threading.Thread и присвоения ему функции для выполнения.

Параметр target ссылается на функцию (или вызываемый объект), который будет работать. Нить не начнет выполнение до start, также не будет вызываться Thread объекта.

Когда my_thread завершается, вызов start выкинет исключение RuntimeError. Если вы хотите запустить Thread в фоновом режиме, то передавайте daemon=True или установите my_thread.daemon в True перед вызовом start().

#потоки #многопоточность
Легкий веб-фреймворк

Bottle – это быстрый, простой и легкий микро-веб-фреймворк WSGI для Python. Он распространяется как единый файловый модуль и не имеет никаких зависимостей, кроме стандартной библиотеки Python.

Несмотря на свою минималистичность, Bottle предоставляет довольно широкие возможности, которых на 100% хватает для мелких и средних проектов. Вот список основных возможностей: routing, templates, POST-routing, обработка форм, cookies и сервер.

После запуска подобного примера можете перейти в браузере по адресу localhost:5000/hello/world и посмотреть на результат, полученный из всего пяти строк кода.

#фреймворки #bottle
​​Находим схожие строки

В стандартной библиотеке Python существует модуль difflib, в котором есть интересный метод get_close_matches. Он позволяет найти в списке строки, похожие на некую исходную.

Этот метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент — список, в котором выполняется поиск.

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

#difflib
Бесплатный курс по облачным технологиям от экспертов Cloud․ru

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

Ответ на этот вопрос вы найдете на вебинаре облачного провайдера Cloud․ru, где в прямом эфире эксперты компании расскажут, как обучение на новом курсе поможет легко и быстро разобраться в многообразии IaaS- и PaaS-сервисов.

С помощью курса «Быстрый старт в Cloud․ru Advanced» вы получите навыки управления проектами в облаке, а также научитесь настраивать сети, правильно хранить данные и разворачивать виртуальные машины.

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

🎁 Кстати, первых трех поступивших на курс ждет подарок, а какой именно — вы узнаете в эфире.

Зарегистрироваться
Упрощенная работа с JSON

Казалось бы, куда еще проще, но есть один интересный пакет JMESpath, который позволяет декларативно указать, как извлекать элементы из документа JSON.

Основные примеры использования показаны на картинке, там нет ничего сложного. Метод search принимает паттерн, по которому требуется извлечь данные, а также словарь (который в общем-то похож на JSON).

Вообще возможностей у пакета достаточно, поэтому он достоен изучения и применения в проектах. Подробнее советую почитать в документации.

#json #jmespath
Частичное применение

Сегодня поговорим об одном интересном концепте из области функционального программирования. Использовать будем функцию partial из стандартной библиотеки functools.

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

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

#functools
Курс по python-разработке для тех, кто хочет сменить профессию.

Неважно, сколько вам лет и есть ли у вас опыт в IT — за 9 месяцев учёбы освоить разработку сможет каждый. Это возможно, если правильно выстроить программу и усердно заниматься. Упорство зависит от вас, а о качестве материалов позаботилась команда Яндекс Практикума.

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

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

Пройдите первый бесплатный урок →
Explicit Conversion Flag

Флаг явного преобразования используется для преобразования значения поля format перед его непосредственным форматированием.

Это поле можно использовать для переопределения поведения format для какого либо конкретного типа и форматирования значения. В настоящее время распространены два явных флага преобразования:

!r – преобразует значение в строку, используя функцию repr()
!s – преобразует значение в строку, используя функцию str()

В примере, в случае с флагом !r строка 'Hello' будет напечатана с кавычками в поле шириной не менее 20 символов, а в случае с флагом !s – без кавычек (в более удобном для чтения виде).

#repr #str #format
Тестирование на pytest

pytest — ближе по духу к языку Python нежели unittest, которая накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов.

Но при разработке на pytest ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python.

Также он поддерживает запуск тестов на unittest и nose, то есть полная обратная совместимость с ними.

#тестирование #pytest #assert
Валидаторы данных

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

Модуль validators позволяет использовать уже готовые валидаторы для самых распространенных задач. В примере можете как раз увидеть валидацию почты и ссылок.

Помимо этого, validators позволяет также работать с ipv4, ipv6, mac адресами и многим другим. В итоге, имеем лаконичный и простой модуль с хорошим функционалом.

#validators
Разница между __str__ и __repr__

Оба магических метода __str__ и __repr__ используются для получения строкового представления объекта. Давайте разберемся, в чем же собственно разница между ними.

Метод __str__ используется для создания вывода для конечного пользователя, а __repr__ в основном используется для отладки и разработки. Другими словами, цель __repr__ – быть однозначным, а __str__ – читабельным.

Функция print() и встроенная функция str() используют метод __str__ для отображения строкового представления объекта, а вот встроенная функция repr() использует для этого метод __repr__.

#классы #str #repr
Метод join у строк

У строк есть полезный метод str.join(), который принимает на вход итерируемый объект, элементами которого также должны быть строки.

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

Проще говоря, если применить к строке этот метод, то она станет разделителем для элементов в новой строке.

#строки
Редирект вывода программы

В contextlib есть еще один прикольный контекстный менеджер — redirect_stdout, позволяющий перенаправить стандартный вывод программы.

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

Таким образом, данные из print() в контекстом менеджере будут переправлены в открытый ранее файл, так как мы его передали в аргумент redirect_stdout.

Убедится в этом можем, открыв файл заново и прочитав оттуда данные.

#contextlib
Точка входа

В некоторых языках программирования есть функции main(), с которых начинается выполнение программы. Но в Python весь код исполняется построчно.

Как вариант, многие пишут основную логику программы в обычную функцию main(), а вызывают ее только в условии if __name__ == '__main__'. Здесь стоит объяснить отдельно про то, что такое __name__.

Переменная __name__ — это специальная переменная, которая будет равна '__main__', только если файл запускается как основная программа. А при импорте в качестве модуля выставляется равной имени модуля.

Таким образом, программа корректно заработает, только если запустить ее напрямую. Если импортировать ее как модуль в другой скрипт, то условие не сработает.

#main
Яндекс Практикум разработал курсы, на которых освоить IT-профессию может каждый, даже без опыта.

Кем на них можно стать?

Веб-разработчиком
Они создают интерфейс сайтов и веб-приложений — то, с чем взаимодействует пользователь.

Python-разработчиком
Они пишут «мозг» для сайтов, чтобы они правильно реагировали на действия пользователей, а серверы понимали запросы.

Инженером по тестированию
Они проверяют код разработчиков, ищут в нём ошибки и исправляют их.

Мобильным разработчиком
Они пишут приложения для устройств с операционной системой Andriod или iOS.

Java-разработчиком
Они пишут масштабные проекты с миллионами посетителей: маркет-плейсы, стриминги, сайты крупных корпораций.

Разработчиком на С++
Они создают разные продукты и программы: от беспилотных автомобилей до веб-браузеров, микроконтроллеров, серверов и видеоигр.

Пройдите первый бесплатный урок →
Бесконечность

Вообще float является крайне интересным типом данных и не перестает удивлять своими особенностями. Про значение Not a Number мы уже писали, а вот сегодня поговорим про infinity.

Строковые литералы 'inf' и 'infinity' можно конвертировать в float, и в результате получается значение бесконечности. Для отрицательной "бесконечности" нужно поставить знак минуса перед словом.

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

#float
Разница между == и is

Многие разработчики не понимают разницу этих двух операторов сравнения. Из-за неправильного использования == и is в приложениях могут возникнуть странные ошибки.

Оператор == проверяет равенство значений двух объектов. А оператор is проверяет идентичность самих объектов. Его используют, чтобы удостовериться, что переменные указывают на один и тот же объект в памяти.

Но Python в целях производительности кеширует малые числа и короткие строки, поэтому возможны некоторые казусы, как в примере выше.

#тонкости
2024/09/28 07:32:06
Back to Top
HTML Embed Code: