Найти в Дзене
Дружелюбный Питон

Глава 3. Ингредиенты или «Из чего состоит программа?». Типы данных. Выражения и операторы.

Оглавление
AI. Винтаж. Эмблема "Python"
AI. Винтаж. Эмблема "Python"

Предыдущая статья:

По большому счёту, с ц е н а р и й (скрипт, программа) состоит из данных и операций с ними. Но столь аскетичное заявление мало информативно, поэтому «размажем кашу по тарелке» 😊.

А каша заварилась нешуточная… Я тут даже табличку накидал – столкнул, так сказать, лбами двух мэтров программирования:

Сравнительная таблица понятий
Сравнительная таблица понятий

Должен признаться, нам сейчас "что в лоб, что по лбу" – ни та, ни эта часть таблицы толком не воспринимаются: понятно только, что они противоречивы.

Поэтому, как говорил Владимир Ульянов, в последствии Ленин: «Мы пойдём другим путём!» 😊

Не нравится «План "Б"» Вождя Революции?! Хм… Ладно. Тогда мы пойдём
с в о и м путём.

Очень коротко познакомимся с теми составляющими языка, которые, как мне видится, лягут в основу всего остального. Это:

  • - данные и их типы
  • - выражения и операторы
  • - переменные
  • - функции

Несомненно, не получится игнорировать и правила написания сценариев: так называемый синтаксис языка, строки, комментарии. Но это уже во второй части курса, ладно?

Конечно, есть ещё такие важные понятия, как объекты и классы, инструкции и методы, атрибуты, параметры и аргументы, токены, интересные вещи вроде модификаторов и аннотаций… Модули, пакеты, библиотеки, фреймворки… Бр-р-р… Но к ним подберёмся так, чтобы они были нативны к пройденному и понятому.

В той или иной степени, в нужное (с моей точки зрения 😊) время и в нужном (с моей точки зрения 😊) месте я коснусь значений этих терминов. Надеюсь. 😊 Или не коснусь. Тогда, как говорила Масяня, героиня очаровательного флеш-мультсериала Олега Куваева, «ну, ты уж как-нибудь так…» 😊

Данные и их типы

Как уже говорилось, чтобы что-то делать, компьютеру прежде всего нужны данные: цифры, числа, буквы, слова и целые предложения, картинки, аудио и видео, сигналы от периферийных устройств и сообщения от других программ…

Для удобства работы все данные Python разделяет по их типу. Например, числа – это одно, текстовая информация – другое… Для чего? Данные разных типов по-разному хранятся, разные типы предусматривают разные возможности манипуляций данными.

Последнюю мысль поясню такой аналогией. Листы металла (условный тип – «Металл») можно соединить сваркой, их не сколачивают гвоздями. Деревянные изделия (условный тип – «Дерево») – наоборот. Однако, при желании, и то, и другое можно распилить ножовкой или склеить.

Например, данные целочисленного типа складываются, вычитаются, умножаются и т.п.:

>>> 2 + 2

>>> 8 / 4

Данные строкового типа тоже можно складывать:

>>> "Привет," + " Новичок!"

Даже вполне допустимо «строку» умножить на «целое число»:

>>> "Привет, Новичок!" * 2

Но вычесть одно из другого, разделить или умножить не получится.

Не получится и к строковому типу прибавить (вычесть, разделить и т.п.) числовой, например:

>>> "Привет, Новичок!" + 2

Последняя команда возвращает TypeError: "Ошибка типа: с типом «str» (строка) можно объединять только тип «str» (не "int" (число)).

Возьмите на заметку: Python достаточно точно и внятно указывает на ошибки и их причины!

Консоль с командной строкой Python открыта? Пробуйте, пробуйте! 😊

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

ПИШИТЕ КАК МОЖНО БОЛЬШЕ КОДА!

Выражения и операторы

Данные – это хорошо. Манипуляции с данными – ещё лучше! Манипуляции – это ого-го! Это уже похоже на компьютерную программу!

Выражения

Свои первые выражения мы с вами начали употреблять писать ручкой в ученических тетрадках и мелом на доске, когда осваивали арифметику (нет?! стилусом и на интерактивной?).

В Python выражения строятся по тому же принципу.

Однако понятие «в ы р а ж е н и е» в высокоуровневом языке программирования несколько шире – это любой фрагмент программного кода, который при выполнении даёт какой-то результат (отсутствие результата – тоже результат 😊):

a = 7 -- присваивает

print('Hello, World!') -- выводит

x > y -- сравнивает

Все примеры кода из предыдущего урока - тоже выражения.

Операторы

Тем, что именно будут выполнять фрагменты кода, управляют о п е р а т о р ы.

Оператор - это команда в виде символа или слова, запускающая некий функционал, производящий какие-либо действия.

Операторы представлены с п е ц и а л ь н ы м и с и м в о л а м и («+» для сложения, «*» для умножения, «>=» для сравнения «больше или равно», «=» для присваивания и др.) и «с п е ц и а л ь н ы м и», з а р е з е р в и р о в а н н ы м и в Python, с л о в а м и, (такими, как, «and» (логическое «И»), «or» (логическое «ИЛИ»), «is» (тождественность), «if» (если)…)

Сами данные, с которыми производятся какие-то действия с помощью операторов, называются о п е р а н д ы.

Пример простого выражения: "Привет, Новичок!" * 2, где строка «"Привет, Новичок!"» и число «2» - операнды, а знак умножения («*») – оператор.

Ну, к выражениям и операторам тоже ещё вернёмся, а пока…

Ужас, как хочется уже пошкодить!

Pourquoi pas? 😊 Балуемся! 😊

>>> (2 + 2) – 1

3

>>> 'Ля ' * 3

'Ля Ля Ля '

>>> 7 / 2

3.5

>>> 3*(2+2)/6

2.0

>>> 5 > 3

True («Истина»)

>>> "Привет," + " Новичок!"

'Привет, Новичок!'

СТАРАЙТЕСЬ ПИСАТЬ БОЛЬШЕ КОДА!

Последующая статья: