Основы Python на пальцах
Рассказываю основы Python на пальцах. Этот урок дополняет видео на Youtube - я еще раз подробно разбираю код. Смотрите видео и набирайте код, он представлен в статье с подробными комментариями.
Об алгоритмах в жизни
Алгоритм - это последовательность действий, ориентированная на решение определенной задачи. При этом термин «алгоритм» употребляется очень часто и в быту, и в рамках профессиональной деятельности теми, кто с программированием никак не связан. Это - житейский термин. Например, вы хотите поехать в торговый центр. Чтобы это сделать, вы вырабатываете алгоритм у себя в голове и следуете ему:
✅ если на улице дождь, то я возьму зонт, в противном случае поеду без зонта;
✅ если я хочу поехать на личном автомобиле, то нужно взять ключи и документы, дойти до автомобиля, завести его и поехать;
✅ если нужно обогнать грузовик и на встречной полосе едет машина, то откажусь от маневра;
✅ чтобы найти вещь в большом шкафу, перебираем все вещи, сравниваем глазами каждую вещь с искомой, при совпадении (нашли нужное) шкаф закрываем.
Вышеперечисленное - это алгоритмы , т.е. последовательность неких действий, сделанных не просто так, а для какой-то определенной цели.
Об алгоритмах в программировании
В программировании алгоритмы задают последовательность действий компьютера, чтобы тот решил прикладную задачу. В этом нет ничего принципиально нового:
✅ Как и в быту в написании программ работает условная логика: если условие выполняется, то делаем одно, если нет - другое;
✅ Как и в обычной жизни мы делаем что-то несколько раз, если условие выполнилось - выходим из программы/последовательности действий;
✅ На работе мы записываем задачи в список дел, в Python храним данные в списках (lists);
✅ В электронном словаре мы получаем перевод английского слова на русский. А в Python мы получаем значение по ключу из словаря (dict) ,специальной структуры, которая хранит данные в формате "ключ-значение".
Светофор
Представим себе ситуацию, мы на перекрестке в автомобиле. Каковы наши действия в зависимости от сигнала светофора?
🚀 Если красный, то мы остановимся;
🚀 Если желтый, то мы готовимся, скоро загорится зеленый свет;
🚀 Если зеленый - жмем на газ.
Эту логику можно трансформировать в код на Python:
light = "красный"
if light == "красный": # оператор == сравнивает левую и правую часть
print("Стоп")
if light == "зеленый": # если условие равенства истинно, то печатаем Поехали
print("Поехали")
else:
print("Стоп или приготовиться")
if light == "желтый":
print("Приготовиться")
Что мы видим в этом коде:
✅ В начале скрипта мы создаем переменную light и инициализируем ее значением "красный", это - строка;
✅ Оператор условия задается инструкцией if ;
✅ После if идет логическое выражение light == красный ;
✅ Если логическое выражение после if будет истинным, то Python выполнит инструкции вложенного кодового блока. Вложенность кодового блока в Python задается отступами - смотрим, видим отступы - значит код вложен в другой;
if a == b:
print("Это вложенный блок 1 для a==b")
print("Опять сложенный блок 1 для a==b")
if c == d:
print("Более вложенный для c == d")
else:
print("Вложенный в else блок 1")
print("Вложенный в else блок 2")
✅ Функция print печатает строку в командной строке, вы увидите ее внизу в редакторе кода.
✅ Командная строка (или терминал, консоль) - это, грубо говоря, современный аналог древней операционной системы MS DOS, но внутри отдельного окна в Windows или MacOS. Это довольно приблизительная аналогия, но для понимания она вполне подойдет.
✅ Терминал - это не анахронизм, а очень часто используемый инструмент в программировании. Почему? Да потому что терминал универсален - он в неизменном виде присутствует во всех операционных системах. Таким образом, однажды написав программу (а Python запускается на Windows/Linux/macOs), работающую в терминале, мы можем запустить ее без изменений где угодно.
Составное условие в логическом выражении
В предыдущем разделе мы программировали простые условия. Сейчас рассмотрим более сложные.
Постановка задачи:
✅ есть бюджет и предпочтения - хотим купить рамный внедорожник не более чем за 7 млн рублей;
✅ если такой автомобиль есть, выполняем два очевидных действия - едем в салон и покупаем.
budget = 7000000
car_price = 5850000
offered_car_type = "внедорожник"
if car_price < budget and offered_car_type == "внедорожник":
print("Едем в автосалон")
print("Покупаем")
else:
print("Отказываемся")
В коде тоже самое:
✅ Объявляем несколько переменных: budget, car_price и offered_car_type. Инициализировав их начальными значениями, мы создаем эти переменные;
✅ Записываем оператор условия, все как в жизни: если цена меньше бюджета и нам предлагают внедорожник (а мы же такую машину хотим), то покупаем;
✅ Единственно отличие кода от повседневной логики - код записывается по-английски с определенным строгим оформлением. Но, тем не менее, код на Python очень близок к английскому тексту.
Пассажиры в аэропорту
Знакомая для многих ситуация - очередь. Например, на посадку в аэропорту. Как работает логика сотрудника, приглашающего пассажиров на борт?
✅ Для каждого пассажира в очереди определяем: если он/она в списке пассажиров бизнес-класса, то приглашаем пройти первым😎 ;
✅ В противном случае - просим подождать и пройти самостоятельно в менее премиальную часть самолета😉.
all_passengers = ["Иван", "Мария", "Александр", "Сергей"]
business_class = ["Мария", "Сергей"]
for p in all_passengers:
if p in business_class:
print("Sit in business class")
else:
print("Goto econom class")
В коде мы пишем почти тоже самое, только по английски:
✅ Создаем два списка: all_passengers и business_class. Содержимое списка записывается в квадратных скобках;
✅ Записываем цикл for для каждого пассажира в списке и внутри тела цикла запускаем оператор условия;
✅ В условии используется оператор in , который вернет True (истину), если элемент будет в списке;
✅ Как мы знаем, оператор if выполнит иструкцию print("Sit in business class") если условие после if истинно.
Видео
Я продублировал видео с Youtube на VK, чтобы вы могли смотреть с компьютера без проблем:
Выводы
Python, как и любой язык программирования - это все лишь надстройка над повседневной логикой , которую вы сотню раз встречали в жизни. Логика, реализованная на языке программирования, записывается в соответствии со строгими правилами этого языка.
Что дальше?
Попробуйте самостоятельно запустить код, который я писал в рамках этого урока. Для этого вам нужен редактор кода - он обсуждается в рамках следующего урока.