Telegram Web Link
Вызов программ операционной системы

sh — это полноценный интерфейс, как альтернатива subprocess, который позволяет вызывать любую программу, как если бы это была обычная функция.
Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.

sh полагается на системные вызовы Unix и работает только в Unix-подобных операционных системах, т.е. данный модуль не подойдет для работы с Windows.
Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.

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

#sh
Дробные числа

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

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

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

#числа #fraction
Самостоятельное изучение Python часто заканчивается разочарованием:

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

Освободите себя от этих проблем — запишитесь на курс «Python-разработчик» от Академии Eduson.

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

Через 9 месяцев у вас в портфолио будет 7 крупных проектов, которые можно показать рекрутеру в крупной российской или зарубежной компании. С карьерным акселератором от Академии вы легко найдете работу — или вам вернут деньги за обучение.

Не тратьте драгоценное время впустую — записывайтесь на курс со скидкой 60% по промокоду PYTHON—>

Реклама, ООО «Эдюсон», ИНН: 7729779476, erid: LjN8JvMwC
Генераторы

Функции-генераторы выглядят как и обычные, но вместо return содержат выражения с ключевым словом yield для последовательного генерирования значений.

Вызов подобной функции вернёт не значение, а объект генератора. Далее из этого объекта можно получать значения, например, с помощью функции next или циклом for.

Если генератору больше нечего возвращать, то будет вызвано исключение StopIteration. В целом, генератор — это особый, более изящный случай итератора.

#генераторы
Вычисление выражений Python

Вы наверняка знакомы с eval, но знаете ли вы о literal_eval? Вряд ли. Для безопасного исполнения выражений, содержащих исключительно литералы, вы можете делать так, как показано на картинке выше.

Между прочим, данная фича находится в языке уже очень давно.

#tips #eval
Делегирующие генераторы

Давайте создадим простенькую генераторную функцию subgen, которая будет возвращать числа от 0 до переданного аргумента.

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

Цикл, который можно написать в delegator, можно заменить всего лишь одной строчкой. То есть yield from заменяет цикл for, в котором только возвращаются значения через yield.

Грубо говоря, такая конструкция является неким туннелем передачи данных туда и обратно. В нашей ситуации delegator можно назвать делигирующим генератором, а subgen подгенератором.

#генераторы
This media is not supported in your browser
VIEW IN TELEGRAM
Яндекс запустил канал ТЕХНО, в котором простым языком рассказывает о том, как устроен мир технологий. Внутри всё то, что мы так любим: нейросети, роботы, чат-боты, голосовые помощники и многое другое.

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

Подписывайтесь тут 👉 https://www.tg-me.com/techno_yandex!
Официальное упорядочивание словарей

Кстати, Python 3.7 на официальном уровне зафиксировал соответствие порядка перебора элементов словарей порядку их добавления.

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

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

#словари
Вызов программ операционной системы

sh — это полноценный интерфейс, как альтернатива subprocess, который позволяет вызывать любую программу, как если бы это была обычная функция.
Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.

sh полагается на системные вызовы Unix и работает только в Unix-подобных операционных системах, т.е. данный модуль не подойдет для работы с Windows.
Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.

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

#sh
Получаем список переменных

Функция locals() возвращает словарь переменных из текущего пространства имён. Ключи словаря — названия переменных, а значения — это их значения.

С помощью похожей функции globals() можно получить все переменные конкретного модуля в таком же виде.

Еще обратите внимание на результат второй функции: там много разных переменных, которые мы явно не объявляли — про некоторые из них скоро расскажем.

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

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

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

Пройдите первый бесплатный урок →
2024/09/28 01:19:46
Back to Top
HTML Embed Code: