Шмелев Андрей
Шмелев Андрей Подписчиков: 87

50 команд на Python часть 2. Оценка кода, Утверждение значений, Функции отображения, Виртуальное окружение, Циклы

6 дочитываний
1 комментарий
Эта публикация уже заработала 0,25 рублей за дочитывания
Зарабатывать

50 команд на Python часть 2. Оценка кода, Утверждение значений, Функции отображения, Виртуальное окружение, Циклы

Первую часть смотри тут Подробнее ➤

6. Оценка кода


Иногда у вас могут быть фрагменты кода, которые собираются вместе программно. Если эти фрагменты кода собраны вместе в виде строки, вы можете выполнить результат с помощью команды 'eval ("code_string")'. Любые синтаксические ошибки в строке кода сообщаются как исключения. По умолчанию этот код выполняется в текущей сессии, используя текущие словари globals и locals. Команда 'eval' может также принимать два других необязательных параметра, в которых вы можете указать другой набор словарей для globals и locals. Если есть только один дополнительный параметр, то предполагается, что это словарь globals. Опционально вы можете передать объект кода, созданный командой compile, вместо строки кода. Возвращаемое значение этой команды - None.

7. Утверждение значений


В какой-то момент нам всем необходимо отладить часть кода, который мы пытаемся написать. Одним из полезных инструментов в этом деле является концепция утверждения. Команда assert принимает выражение Python и проверяет, истинно ли оно. Если да, то выполнение продолжается в обычном режиме. Если оно не истинно, то выдается ошибка AssertionError. Таким образом, вы можете проверить, что инварианты в вашем коде остаются неизменными. Таким образом можно проверить предположения, сделанные в коде. По желанию можно включить второй параметр в команду assert. Этот второй параметр представляет собой выражение Python, которое будет выполнено в случае неудачи утверждения. Обычно это какое-то подробное сообщение об ошибке, которое выводится на печать. Или же вы можете включить код очистки, который попытается восстановиться после неудачного утверждения.

8. Функции отображения


В современных программах часто встречается задача отображения заданного вычисления на целый список элементов. Python предоставляет команду 'map ()', чтобы сделать именно это. Map возвращает список результатов функции, примененной к каждому элементу объекта iterable. Map может принимать более одной функции и более одного итерируемого объекта. Если ей передается более одной функции, то возвращается список кортежей, в котором каждый элемент кортежа содержит результаты каждой функции. Если передано более одной iterable, то map предполагает, что функции принимают более одного входного параметра, поэтому он будет брать их из заданных iterables. При этом неявно предполагается, что все итерабельные таблицы имеют одинаковый размер и что все они необходимы в качестве параметров для данной функции.

9. Виртуальное окружение

Из-за потенциальной сложности среды Python иногда лучше создать чистую среду, в которой можно установить только те модули, которые нужны для данного проекта. В этом случае вы можете использовать команду virtualenv для инициализации такой среды. Если вы создадите каталог с именем 'ENV', вы можете создать новую среду с помощью команды 'virtualenv ENV'. Это создаст подкаталоги bin, lib и include и заполнит их начальным окружением. Затем вы можете начать использовать это новое окружение, выполнив скрипт 'ENV/bin/ activate', который изменит несколько переменных окружения, например, PATH. Когда вы закончите, вы можете использовать скрипт 'ENV/bin/deactivate', чтобы вернуть окружение вашей оболочки в прежнее состояние. Таким образом, вы можете создать окружение, содержащее только те модули, которые вам нужны для выполнения определенного набора задач.

10. Циклы

Хотя это и не является строгой необходимостью, каждый должен знать, как работать с циклами. Два основных типа циклов - это цикл с фиксированным числом итераций (for) и условный цикл (while). В цикле for вы итерируете некоторую последовательность значений, вытаскивая их из списка по одному за раз и помещая во временную переменную. И так продолжается до тех пор, пока вы не обработаете все элементы или не выполните команду break. В цикле while цикл продолжается до тех пор, пока некоторое тестовое выражение не примет значение True. Хотя циклы можно завершать досрочно с помощью команды break, вы также можете пропускать фрагменты кода в любом цикле с помощью команды continue, чтобы выборочно остановить текущую итерацию и перейти к следующей.

1 комментарий
Понравилась публикация?
8 / 0
нет
0 / 0
Подписаться
Донаты ₽
Комментарии: 1
Отписаться от обсуждения Подписаться на обсуждения
Популярные Новые Старые
DELETE
Комментарий удалён
раскрыть ветку (0)

Размышления о ситуации с информатикой в школе…

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

10 самых востребованных профессий мира сегодня

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

Кибердом: Мир без границ! Новый трек.

Киберхауз: Мечты, код и...будет ли всё ок? Новый трек! Представь себе: ты просыпаешься в уютном доме, который на самом деле – огромный виртуальный мир. Здесь нет стен и границ, только бесконечные возможности!
03:55
Поделитесь этим видео

Панегирик печального юзера инета. Все, как один, на борьбу со спамом!

Эй, чуваки! Когда я откинусь, не хороните меня в земле, а забросьте мой код в интернет, типа, спрячьте на каком-нибудь сайте. Пусть я там витаю, как призрак, слушаю, как всё крутится: сервера жужжат,...
01:45
Поделитесь этим видео

Сборка

Холодный подмосковный ветер проникал сквозь щели старой дачи, заставляя Дмитрия ...

Как моя подруга трудоустраиваться ходила или вся правда о курсах программирования

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