Вызов программ операционной системы
sh — это полноценный интерфейс, как альтернатива
Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.
Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.
Также в модуле реализована функция
#sh
sh — это полноценный интерфейс, как альтернатива
subprocess
, который позволяет вызывать любую программу, как если бы это была обычная функция. Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.
sh
полагается на системные вызовы Unix и работает только в Unix-подобных операционных системах, т.е. данный модуль не подойдет для работы с Windows.Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.
Также в модуле реализована функция
which
, которая находит полный путь до программы либо возвращает None
, если программа не найдена.#sh
Дробные числа
По умолчанию числа с плавающей точкой используют память привычным образом, то есть они хранятся в двоичном виде. Это означает, что вы обычно работаете с приблизительными значениями, а не точными.
Можно использовать тип данных
Поэтому для идеальных вычислений лучше использовать
#числа #fraction
По умолчанию числа с плавающей точкой используют память привычным образом, то есть они хранятся в двоичном виде. Это означает, что вы обычно работаете с приблизительными значениями, а не точными.
Можно использовать тип данных
Decimal
, который предоставит намного большую точность, но и его может не хватить в некоторых случаях. Поэтому для идеальных вычислений лучше использовать
Fraction
, который представляет и хранит число в виде рациональной дроби.#числа #fraction
Самостоятельное изучение Python часто заканчивается разочарованием:
— Непонятно, с чего начинать и как спланировать обучение;
— Инструкции в интернете не дают понимания причинно-следственных связей в коде;
— После просмотренного видео-урока кажется, что все понятно, а потом вы теряетесь при первом же реальном задании.
Освободите себя от этих проблем — запишитесь на курс «Python-разработчик» от Академии Eduson.
Вы освоите базу и сможете писать чистый код для решения любых задач. Каждого студента ждет профессиональная команда поддержки — куратор, код-ревьюер и эксперты курса, которые дают советы и развернутую обратную связь.
Через 9 месяцев у вас в портфолио будет 7 крупных проектов, которые можно показать рекрутеру в крупной российской или зарубежной компании. С карьерным акселератором от Академии вы легко найдете работу — или вам вернут деньги за обучение.
Не тратьте драгоценное время впустую — записывайтесь на курс со скидкой 60% по промокоду PYTHON—>
Реклама, ООО «Эдюсон», ИНН: 7729779476, erid: LjN8JvMwC
— Непонятно, с чего начинать и как спланировать обучение;
— Инструкции в интернете не дают понимания причинно-следственных связей в коде;
— После просмотренного видео-урока кажется, что все понятно, а потом вы теряетесь при первом же реальном задании.
Освободите себя от этих проблем — запишитесь на курс «Python-разработчик» от Академии Eduson.
Вы освоите базу и сможете писать чистый код для решения любых задач. Каждого студента ждет профессиональная команда поддержки — куратор, код-ревьюер и эксперты курса, которые дают советы и развернутую обратную связь.
Через 9 месяцев у вас в портфолио будет 7 крупных проектов, которые можно показать рекрутеру в крупной российской или зарубежной компании. С карьерным акселератором от Академии вы легко найдете работу — или вам вернут деньги за обучение.
Не тратьте драгоценное время впустую — записывайтесь на курс со скидкой 60% по промокоду PYTHON—>
Реклама, ООО «Эдюсон», ИНН: 7729779476, erid: LjN8JvMwC
Генераторы
Функции-генераторы выглядят как и обычные, но вместо
Вызов подобной функции вернёт не значение, а объект генератора. Далее из этого объекта можно получать значения, например, с помощью функции
Если генератору больше нечего возвращать, то будет вызвано исключение
#генераторы
Функции-генераторы выглядят как и обычные, но вместо
return
содержат выражения с ключевым словом yield
для последовательного генерирования значений.Вызов подобной функции вернёт не значение, а объект генератора. Далее из этого объекта можно получать значения, например, с помощью функции
next
или циклом for
.Если генератору больше нечего возвращать, то будет вызвано исключение
StopIteration
. В целом, генератор — это особый, более изящный случай итератора.#генераторы
Делегирующие генераторы
Давайте создадим простенькую генераторную функцию
А также ещё одну генераторную функцию
Цикл, который можно написать в
Грубо говоря, такая конструкция является неким туннелем передачи данных туда и обратно. В нашей ситуации
#генераторы
Давайте создадим простенькую генераторную функцию
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!
Из любопытного:
— Нужны ли нейросети в школах
— Как обманывал пользователей самый популярный чат-бот ChatGPT
— Какой была первая в истории фраза, переведённая компьютером
— И наконец, займут ли ваше рабочее место роботы и ИИ
Подписывайтесь тут 👉 https://www.tg-me.com/techno_yandex!
Официальное упорядочивание словарей
Кстати, Python 3.7 на официальном уровне зафиксировал соответствие порядка перебора элементов словарей порядку их добавления.
Но для некоторых это не такая уж и новость, так как и в Python 3.6 словари уже были упорядочены, что видно на примере выше.
Однако это был просто побочный результат реализации, не зафиксированный в стандарте. Новый Python оформил его официально. Теперь можно быть уверенным в сохранении порядка вставки.
#словари
Кстати, Python 3.7 на официальном уровне зафиксировал соответствие порядка перебора элементов словарей порядку их добавления.
Но для некоторых это не такая уж и новость, так как и в Python 3.6 словари уже были упорядочены, что видно на примере выше.
Однако это был просто побочный результат реализации, не зафиксированный в стандарте. Новый Python оформил его официально. Теперь можно быть уверенным в сохранении порядка вставки.
#словари
Вызов программ операционной системы
sh — это полноценный интерфейс, как альтернатива
Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.
Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.
Также в модуле реализована функция
#sh
sh — это полноценный интерфейс, как альтернатива
subprocess
, который позволяет вызывать любую программу, как если бы это была обычная функция. Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.
sh
полагается на системные вызовы Unix и работает только в Unix-подобных операционных системах, т.е. данный модуль не подойдет для работы с Windows.Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.
Также в модуле реализована функция
which
, которая находит полный путь до программы либо возвращает None
, если программа не найдена.#sh
Получаем список переменных
Функция
С помощью похожей функции
Еще обратите внимание на результат второй функции: там много разных переменных, которые мы явно не объявляли — про некоторые из них скоро расскажем.
#переменные
Функция
locals()
возвращает словарь переменных из текущего пространства имён. Ключи словаря — названия переменных, а значения — это их значения.С помощью похожей функции
globals()
можно получить все переменные конкретного модуля в таком же виде.Еще обратите внимание на результат второй функции: там много разных переменных, которые мы явно не объявляли — про некоторые из них скоро расскажем.
#переменные
Курс и конвертер валют в Python
Для работы с разными валютами и их курсами существует библиотека forex-python.
С её помощью можно как узнать курс любой валюты, так и сконвертировать одну валюту в другую.
Ознакомиться с интерактивным примером кода можно тут.
#currency #forex_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
После выпуска тебе не придётся искать стажировки или переучиваться на курсах, чтобы получить оффер от IT-компании. Поступив в Институт iSpring, ты уже после 1 курса начнёшь работать Junior-разработчиком, а к концу 4 курса повысишь грейд до Middle с опытом управления командами. Да, всё это можно сделать за бакалавриат!
Что нужно знать, если хочешь поступить:
— обучение очное, 70 из 120 мест — с грантовой поддержкой;
— учебная программа развивает hard skills и soft skills: от железа и веб-разработки до бизнес-практики и тренингов по эффективности;
— лабораторки основаны на реальных рабочих задачах в IT-компании;
— преподаватели — сотрудники международной компании с большим опытом в обучении;
— в кампусе есть библиотека с проф. литературой, столовая и тренажёрка;
— финансовый вопрос — не препятствие к поступлению. Если у поступившего нет возможности оплачивать обучение, ему поможет компания-грантодатель.
Как поступить:
Чтобы стать студентом Института iSpring, нужно пройти внутренние этапы поступления (тест на интеллект, видео-визитка, эссе) и сдать ЕГЭ по русскому языку и профильной математике на 60+ баллов.
Подробности ищи тут: ispring.institute
АНО ВО «РУМТ»
ИНН 1215144727
Kra243a3T
Вычисление размера объектов
Для вычисления размера объекта мы можем использовать функцию
И хотя все
Аргумент
Функция
#getsizeof
Для вычисления размера объекта мы можем использовать функцию
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
Bottle
– это быстрый, простой и легкий микро-веб-фреймворк WSGI
для Python. Он распространяется как единый файловый модуль и не имеет никаких зависимостей, кроме стандартной библиотеки Python.Несмотря на свою минималистичность,
Bottle
предоставляет довольно широкие возможности, которых на 100% хватает для мелких и средних проектов. Вот список основных возможностей: routing, templates, POST-routing, обработка форм, cookies и сервер.После запуска подобного примера можете перейти в браузере по адресу
localhost:5000/hello/world
и посмотреть на результат, полученный из всего пяти строк кода.#фреймворки #bottle
Находим схожие строки
В стандартной библиотеке Python существует модуль
Этот метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент — список, в котором выполняется поиск.
Также в метод можно передать необязательный аргумент
#difflib
В стандартной библиотеке Python существует модуль
difflib
, в котором есть интересный метод get_close_matches
. Он позволяет найти в списке строки, похожие на некую исходную.Этот метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент — список, в котором выполняется поиск.
Также в метод можно передать необязательный аргумент
n
, который задаёт максимальное число возвращаемых совпадений.#difflib
Бесплатный курс по облачным технологиям от экспертов Cloud․ru
Индустрия облачных технологий развивается, а вместе с ней растет и количество сервисов для бизнеса. Как разобраться в их многообразии и держать руку на пульсе новых облачных трендов?
Ответ на этот вопрос вы найдете на вебинаре облачного провайдера Cloud․ru, где в прямом эфире эксперты компании расскажут, как обучение на новом курсе поможет легко и быстро разобраться в многообразии IaaS- и PaaS-сервисов.
⚡С помощью курса «Быстрый старт в Cloud․ru Advanced» вы получите навыки управления проектами в облаке, а также научитесь настраивать сети, правильно хранить данные и разворачивать виртуальные машины.
Для всех зарегистрированных участников будет доступна запись вебинара и презентация спикеров — вы сможете вернуться к просмотру в любое удобное время.
🎁 Кстати, первых трех поступивших на курс ждет подарок, а какой именно — вы узнаете в эфире.
Зарегистрироваться
Индустрия облачных технологий развивается, а вместе с ней растет и количество сервисов для бизнеса. Как разобраться в их многообразии и держать руку на пульсе новых облачных трендов?
Ответ на этот вопрос вы найдете на вебинаре облачного провайдера Cloud․ru, где в прямом эфире эксперты компании расскажут, как обучение на новом курсе поможет легко и быстро разобраться в многообразии IaaS- и PaaS-сервисов.
⚡С помощью курса «Быстрый старт в Cloud․ru Advanced» вы получите навыки управления проектами в облаке, а также научитесь настраивать сети, правильно хранить данные и разворачивать виртуальные машины.
Для всех зарегистрированных участников будет доступна запись вебинара и презентация спикеров — вы сможете вернуться к просмотру в любое удобное время.
🎁 Кстати, первых трех поступивших на курс ждет подарок, а какой именно — вы узнаете в эфире.
Зарегистрироваться
Упрощенная работа с JSON
Казалось бы, куда еще проще, но есть один интересный пакет
Основные примеры использования показаны на картинке, там нет ничего сложного. Метод
Вообще возможностей у пакета достаточно, поэтому он достоен изучения и применения в проектах. Подробнее советую почитать в документации.
#json #jmespath
Казалось бы, куда еще проще, но есть один интересный пакет
JMESpath
, который позволяет декларативно указать, как извлекать элементы из документа JSON. Основные примеры использования показаны на картинке, там нет ничего сложного. Метод
search
принимает паттерн, по которому требуется извлечь данные, а также словарь (который в общем-то похож на JSON). Вообще возможностей у пакета достаточно, поэтому он достоен изучения и применения в проектах. Подробнее советую почитать в документации.
#json #jmespath
Частичное применение
Сегодня поговорим об одном интересном концепте из области функционального программирования. Использовать будем функцию
Предоставление функции меньшего количества аргументов, чем она ожидает, называется частичным применением функций.
Другими словами, это такая функция, которая принимает другую функцию с несколькими параметрами и возвращает функцию, но уже с меньшим количеством параметров.
#functools
Сегодня поговорим об одном интересном концепте из области функционального программирования. Использовать будем функцию
partial
из стандартной библиотеки functools
.Предоставление функции меньшего количества аргументов, чем она ожидает, называется частичным применением функций.
Другими словами, это такая функция, которая принимает другую функцию с несколькими параметрами и возвращает функцию, но уже с меньшим количеством параметров.
#functools
Курс по python-разработке для тех, кто хочет сменить профессию.
Неважно, сколько вам лет и есть ли у вас опыт в IT — за 9 месяцев учёбы освоить разработку сможет каждый. Это возможно, если правильно выстроить программу и усердно заниматься. Упорство зависит от вас, а о качестве материалов позаботилась команда Яндекс Практикума.
— Программа основана на реальных требованиях работодателей к младшим специалистам.
— Интерактивный тренажёр помогает освоить теорию и закрепить её в тестах.
— Практика идёт на учебных проектах для портфолио: от чат-бота и сайта-отзовика до соцсети и многофункционального сервиса.
А ещё на курсе много работы с опытными специалистами:
— наставники-разработчики разбирают сложные темы на живых вебинарах.
— код-ревьюеры проверяют проекты и подсказывают, как их улучшить.
— кураторы помогают с организацией и расписанием.
— карьерный центр учит работать с резюме, мотивационными письмами, портфолио и собеседованиями.
Пройдите первый бесплатный урок →
Неважно, сколько вам лет и есть ли у вас опыт в IT — за 9 месяцев учёбы освоить разработку сможет каждый. Это возможно, если правильно выстроить программу и усердно заниматься. Упорство зависит от вас, а о качестве материалов позаботилась команда Яндекс Практикума.
— Программа основана на реальных требованиях работодателей к младшим специалистам.
— Интерактивный тренажёр помогает освоить теорию и закрепить её в тестах.
— Практика идёт на учебных проектах для портфолио: от чат-бота и сайта-отзовика до соцсети и многофункционального сервиса.
А ещё на курсе много работы с опытными специалистами:
— наставники-разработчики разбирают сложные темы на живых вебинарах.
— код-ревьюеры проверяют проекты и подсказывают, как их улучшить.
— кураторы помогают с организацией и расписанием.
— карьерный центр учит работать с резюме, мотивационными письмами, портфолио и собеседованиями.
Пройдите первый бесплатный урок →