Знайомство з PYTHON

 

Вступ

Кожної миті органи чуття людини сприймають та передають інформацію до нашого центру обробки — мозку. Так само комп'ютеру й комп'ютерним програмам необхідно мати інформацію, яку вони будуть обробляти, — вхідні дані, та інструкцію, як це робити — комп'ютерний код. Завдання програміста полягає у створенні програми, тобто написання цієї інструкції для машини.

Отже, програмування — це процес створення програм через написання комп'ютерного коду. 

ePfPRx-MsWl95ZbiYCo0ef0DzcoEHSMq
Малюнок 1

Під час запуску програми ми надаємо машині вхідні дані й інструкцію, як з ними працювати. Комп'ютер перетворює всю цю інформацію в машинний коднабір нулів і одиниць, після чого працює вже з ними. Тому всю інформацію можна умовно поділити на два рівні:

  • високий — той, який є зрозумілим для людини;
  • низький — той, що краще зрозуміє машина.

I4No8UETr_snKXxOSCVSAWi5jhXZ14po
Малюнок 2

Мова програмування Python

Так само як люди користуються різними мовами для спілкування, для написання коду є мови програмування.

У цьому курсі ми вивчатимемо одну з найперспективніших — Python (Пайтон). Розглянемо його переваги:

  • Простота. Python зрозумілий і вважається найлегшим у вивченні.
  • Лаконічність. Має нескладний синтаксис, тобто правила написання коду та буде зрозумілим інтуїтивно.
  • Швидкий старт. Початок програмування на Python буде досить швидким, як і перші вагомі результати.
  • Python високорівнева мова програмування, що дає змогу написати програму всього в кілька рядків.
  • Різноманітність. На Python можна розробляти будь-які додатки (десктопні — для комп'ютера, веб, мобільніта ін.).

9M6NHZ25m9XEm52Er4GJWDrCCjCssFFc
Малюнок 3

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

Repl.it

Для написання коду ми користуватимемося сервісом Repl.it. Це повноцінне середовище розробки, яке працює прямо в браузері й не потребує додаткового встановлення програмного забезпечення. Repl.it дає нам змогу одразу почати написання коду, до того ж з будь-якого пристрою.

Перейдіть на сайт, натисніть Start coding та зареєструйтеся. Для прискорення реєстрації, можна використати обліковий запис Google, Github або Facebook (Відео 1).

Відео 1

Наступним кроком логінимось і потрапляємо на домашню сторінку. У лівому верхньому куті бачимо свій логін, а нижче — вкладки для роботи, серед яких нам потрібні:

  • Home — повертає нас на домашню сторінку;
  • My repls — перелік створених програм;
  • Languages — дає змогу обрати мови програмування;
  • Tutorials — приклади програм;
  • Templates — шаблони для створення сайтів і додатків.

Ознайомившись із базовим інтерфейсом, перейдемо до створення програми.

У верхньому лівому куті екрана натисніть New Repl. У вікні, яке з'явилося в полі Languages (мови), виберіть Python. Для нового проєкту буде згенероване випадкове ім'я (його можна змінювати). Натискаємо Create repl (Відео 2)

Відео 2

Сторінка проєкту розділена на три колонки:

1. У лівій колонці можна побачити список файлів проєкту (Мал.4). Автоматично генерується файл з назвою main.py, яка зазвичай використовується для головного файлу програми, тобто саме його треба запускати для роботи програми. Поки що ми будемо працювати лише з ним.

QCbewEKCg1pGCUhKOc-gSwn9iNHqTQoi
Малюнок 4

2. У центральній колонці — поле, у якому ми будемо писати код програми.

bp3w8t_CoRBxYFv04oUWaXwzPWPus3Gm
Малюнок 5

3. Права колонка містить дві вкладки:

  • Console — консоль. Сюди програма виводитиме результат своєї роботи.
  • Shell — дає змогу проводити додаткові налаштування програмного середовища.

slBK4hFW8ZxgCqG-m2KHFO8Gkyy4by3n
Малюнок 6

Перша програма

Для першої програми скористаємося стандартним завданням — виведемо на консоль рядок "Hello World!".

Для виконання цього завдання необхідно передати машині інструкції та вхідні дані.

Інструкцією (кодом), яка буде обробляти дані є стандартна функція print().

print() — виводить на консоль елементи, прописані в неї між дужками. Якщо елементів два і більше, їх необхідно розділяти комами.

Вхідними даними для цієї функції буде рядок "Hello World!". Але для того, щоб машина нас зрозуміла, і видала правильний результат, необхідно розповісти їй, що це за дані. Проводячи аналогію з життям, ми сприймаємо інформацію завдяки зору, слуху, нюху і т. д., так і в програмуванні інформація надходить з різних каналів та має різні типи. У нашому випадку в рядку "Hello World!" тип даних, що передаються — рядок. Але для того, щоб машина це правильно зрозуміла, необхідно обгорнути "Hello World!" в одинарні або подвійні лапки:

"Hello World!"

або

'Hello World!'

Тепер помістимо рядок всередину функції print(). Ставимо курсор у центральній колонці та прописуємо:

print("Hello World!")

або

print('Hello World!')

Залишається лише запустити код, натиснувши клавішу «Run» вгорі по центру (Відео 3).

Відео 3 

Змінні

А тепер уявімо, що в нас є велика програма, яка повідомляє Супермена про небезпеку.

Оскільки герой постійно рятує світ, то рядок "Superman" використовується багато разів. Та зараз він відправився ліквідовувати загрозу з іншого виміру, через що виникла потреба повідомити про небезпеку іншого супергероя, наприклад, Аквамена, тоді доведеться надсилати повідомлення іншому герою, використовуючи рядок "Aquaman". Але якщо ми будемо щоразу прописувати його ім'я, зло встигне захопити світ. Тому ми просто збережемо ім'я героя в змінній і для вибору іншого адресата нам буде достатньо лише раз змінити його всередині змінної — свого роду «контейнера», у який поміщаються дані. Коли ми звертаємося до нього, він віддає те, що лежить всередині. Щоб не заплутатись, що і в якому «контейнері» лежить, є назва змінної. Спробуємо створити змінну name, надавши їй значення з ім'ям супергероя. Для цього в першому рядку програми пропишемо:

name = "Superman"

Під час побудови програм, треба враховувати, що код виконується послідовно, тобто спершу буде виконуватися код першого рядку, далі другого і т. д.

З огляду на це виведемо змінну на консоль: скористаємось уже знайомою функцією print(). Пропишемо її в другому рядку, вставивши між дужками назву змінної. Запустимо програму (Відео 4).

Відео 4

Пересвідчившись у тому, що консоль виводить рядок, замінимо "Superman" на "Aquaman", не чіпаючи функцію print(). Знову запустимо код (Відео 5).

Відео 5

Тепер на консоль вивівся рядок Aquaman, усередині «контейнера» міститься ім'я іншого супергероя, а код функції print() не змінювався.

Отже, змінні значно спрощують роботу з кодом, роблячи його універсальним.

Тепер зробимо так, щоб функція print() також виводила вік супергероя.

Вік зручно вказувати в числовому форматі, тому, всередині дужок, після змінної name,поставимо кому та додамо елемент зі значенням 27, після чого запустимо код (Відео 6).

Відео 6

Зараз людина, яка читатиме наш код, зможе лише здогадуватися про значення числа 27. Найзручніший спосіб розкрити закладений сенс — покласти його в змінну, назва якої буде пояснювати зміст даних у ній. У нашому випадку назвемо її age (вік). Для цього перенесемо print() на третій рядок, а в другому пропишемо нову змінну. Лишається відкоригувати функцію print(), замінивши 27 змінною age.

Запускаємо код і бачимо, що на консолі з'являється той самий напис (Відео 7).

Відео 7

Тепер той, хто читатиме код програми зрозуміє, що 27 означає вік і за необхідності зможе його змінити. Тепер код став зрозумілішим.

Крім того, ми пересвідчились, що змінні є лише «контейнерами». Усередині них можна зберігати не лише рядки, а й числа, та багато інших типів даних.  

Під час створення змінних, будьте уважними, оскільки їхні назви:

  • можуть містити лише латинські літери, цифри та підкреслення;
  • мають починатися лише з букви або підкреслення. Починати ім'я з цифри заборонено.

Динамічна типізація

А тепер введемо код:

name = "SuperMan"
print(name)
name = 50
print(name)

Запустимо його (Відео 8):

Відео 8

Значення змінної name стало іншим. Але також змінився й тип даних у ній: замість рядка маємо число. Пересвідчитись у цьому можна з допомогою функції type(), що повертає тип введеного елемента.

Для отримання інформації передамо змінну name у функцію type(), котру передамо до функції print() аби вивести результат на екран.

Маємо:

name = "SuperMan"
print(name)
print(type(name))
name = 50
print(name)
print(type(name))

Запустимо код (Відео 9):

Відео 9

Насправді, це одна з основних фіч Python — динамічна типізація, тобто можливість легко переприв'язувати змінну не тільки до нових даних, а й до нових типів даних. Але водночас слід пам'ятати про читабельність коду. Тому назви змінних мають чітко вказувати на дані, які в них містяться.

Ввід даних

Ми розібралися з роботою змінних та тим, як виводити інформацію на консоль. Але часто постає необхідність у тому, щоб вводити дані під час роботи програми.

Найпростіший спосіб це зробити — ввід даних за допомогою клавіатури та функції input(). Вона надає можливість присвоювати змінним значення, які вводить користувач.

Знову створимо змінну name та присвоїмо їй функцію input(). Нижче виведемо її на консоль, але додатково у функції print() пояснимо, яку саме змінну ми виводимо. Для цього, крім самої змінної, введемо елемент типу рядок, який містить її назву:

name = input()
print("name -", name)

Запустимо код, після чого пропишемо ім'я та натиснемо «Enter» (Відео 10). Потренуйтеся запускати код, вводячи інші імена.

Відео 10

Але в нашому коді є недолік. Якщо людина не бачить код програми, вона не знає, що саме потрібно вводити.

Щоб це виправити, усередину функції input() можна вставити рядок, який буде пояснювати користувачу, що саме йому треба зробити. Покращимо код, вставивши рядок "Введіть ім'я супергероя":

name = input("Введіть ім'я супергероя")
print("name -", name)

Запустимо його (Відео 11):

Відео 11

Тепер будь-хто зможе працювати з нашою програмою!

У цьому уроці ми розібралися, як працювати з сервісом repl.it та почали знайомство з Python. Створили свої перші програми, зробили їх універсальними й зрозумілими.

На наступних заняттях нас чекають нові та ще більш захопливі можливості Python!