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

50 команд на Python часть 8. Внутренние переменные, Сравнение объектов, Slices, Лямбда-выражения, Компиляция объектов кода

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

50 команд на Python часть 8. Внутренние переменные, Сравнение объектов, Slices, Лямбда-выражения, Компиляция объектов кода

41. Внутренние переменные


Для людей, пришедших из других языков программирования, существует концепция, согласно которой определенные переменные или методы могут быть доступны только внутри объекта. В Python такой концепции нет. Все элементы объекта доступны. Однако существует правило стиля, которое может имитировать такое поведение. Любые имена, начинающиеся с символа подчеркивания, должны рассматриваться как внутренние имена и быть закрытыми для объекта. Однако они не являются скрытыми, и явной защиты для этих переменных или методов не существует. Программист должен следовать намерениям автора класса и не изменять ни одно из этих внутренних имен. Однако вы можете свободно вносить такие изменения, если в этом возникнет необходимость.

42. Сравнение объектов

В Python существует несколько способов сравнения объектов, с некоторыми оговорками. Первая заключается в том, что между объектами можно проверить две вещи: равенство и идентичность. Если вы проверяете идентичность, вы проверяете, действительно ли два имени ссылаются на один и тот же объект. Это можно сделать с помощью команды 'cmp (obj1, obj2)'. Вы также можете проверить это условие с помощью ключевого слова 'is'. Например, 'obj1 is obj2'. Если вы проверяете равенство, вы проверяете, равны ли значения в объектах, на которые ссылаются два имени. Этот тест выполняется с помощью оператора '==', как в примере 'obj1 == obj2'. Проверка на равенство может стать сложной для более сложных объектов.

43. Slices

Хотя это и не совсем команда, но срезы - слишком важная концепция, чтобы не упомянуть ее в этом списке основных команд. Индексирование элементов в структурах данных, таких как списки, является одним из наиболее распространенных действий в Python. Вы можете выбрать один элемент, задав одно значение индекса. Что еще более интересно, можно выбрать диапазон элементов, указав начальный и конечный индексы, разделенные двоеточием. Это возвращается в виде нового списка, который можно сохранить в имени новой переменной. Можно даже изменить размер шага, что позволяет пропустить некоторое количество элементов. Так, вы можете взять каждый нечетный элемент из списка 'a' с помощью фрагмента 'a[1::2]'. Это начинается с индекса 1, продолжается до конца и перебирает значения индекса по 2 за раз. Ломтикам можно присваивать отрицательные значения индексов. В этом случае они начинаются с конца списка и отсчитываются назад.

44. Лямбда-выражения

Поскольку объекты и имена, указывающие на них, - это действительно разные вещи, вы можете иметь объекты, на которые нет ссылок. Одним из примеров этого является лямбда-выражение. С его помощью вы можете создать анонимную функцию. Это позволяет использовать методы функционального программирования в Python. Формат: ключевое слово "лямбда", затем список параметров, двоеточие и код функции. Например, вы можете создать собственную функцию для возведения числа в квадрат с помощью 'lambda x: x*x'. Затем вы можете получить функцию, которая может программно создавать новые функции и возвращать их в вызывающий код. С помощью этой возможности вы можете создавать генераторы функций, чтобы иметь самомодифицирующиеся программы. Единственным ограничением является то, что они ограничены одним выражением, поэтому вы не можете создавать очень сложные функции.

45. Компиляция объектов кода


Python - интерпретируемый язык, что означает, что исходный код, который вы пишете, должен быть скомпилирован в формат байт-кода. Затем этот байт-код поступает в движок Python для выполнения инструкций. В вашей программе может возникнуть необходимость взять под контроль процесс преобразования кода в байт-код и выполнения результатов. Возможно, вы захотите создать свой собственный REPL. Команда 'compile ()' принимает строковый объект, содержащий коллекцию кода Python, и возвращает объект, представляющий собой перевод этого кода в байт-код. Затем этот новый объект можно передать команде 'eval ()' или 'exec ()' для выполнения. Вы можете использовать параметр 'mode=', чтобы указать компилятору, какой тип кода компилируется. Режим 'single' - это один оператор, 'eval' - одно выражение, а 'exec' - целый блок кода.

Понравилась публикация?
3 / 0
нет
0 / 0
Подписаться
Донаты ₽

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

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

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

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

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

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

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

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

Сборка

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

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

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