Professional Documents
Culture Documents
Python - для новичков (УКР)
Python - для новичков (УКР)
» Програма
Більше того, багато функцій Python можуть робити ці дві речі одночасно.
З самого Python
Вони можуть бути вбудовані в сам Python; функція print є однією з таких; така
функція є додатковою цінністю, отриманою разом із Python та його середовищем
(вона вбудована); вам не потрібно робити нічого особливого (наприклад, просити
будь-кого про що-небудь), якщо ви хочете цим скористатися;
З модулів
Вони можуть бути вбудовані в одне або кілька доповнень Python, так звані модулі;
деякі модулі постачаються разом із Python, інші можуть вимагати окремої
інсталяції – у будь-якому випадку, усі вони мають бути явно пов’язані з вашим
кодом (ми скоро покажемо, як це зробити);
З вашого коду
Ім'я функції має бути значущим (ім'я функції виведення зрозуміле саме собою).
ефект;
результат.
Функції Python, з іншого боку, більш універсальні. Залежно від потреби, вони
можуть приймати будь-яку кількість аргументів - стільки, скільки необхідно для
виконання своїх задач. Примітка: Коли ми говорили про будь-яку кількість, ми
мали на увазі і нуль - деякі функції Python не потребують жодного аргументу.
print("Привіт, світ!")
Примітка: щоб розрізняти звичайні слова від назв функцій, після їх імен слід
ставити пару порожніх круглих дужок, навіть якщо функція потребує один або
декілька аргументів. Це стандартна домовленість.
print("Привіт, світ!")
Ви можете собі уявити, що в лапках сказано щось на кшталт: текст між нами — не
код. Він не призначений для виконання, і ви повинні сприймати його таким, як він є.
Існує декілька способів задати рядок в коді Python, але поки що достатньо і цього.
назва_функції(аргумент)
Давайте подивимося:
2.1.7 Інструкції
Ви вже бачили комп'ютерну програму, яка складається з виклику однієї функції.
Виклик функції є одним з багатьох можливих типів інструкцій Python.
Рядок може бути порожнім (тобто не містити жодної інструкції), але він не повинен
містити двох, трьох або більше інструкцій. Це категорично заборонено.
Примітка: Python робить один виняток з цього правила ‒ він дозволяє одній
інструкції займати більше одного рядка (що може бути корисно, якщо ваш код
містить складні конструкції).
Що відбувається?
Як бачимо, порожній виклик print() не такий порожній, як можна було очікувати - він
дійсно виводить порожній рядок, або (така інтерпретація також є правильною)
виводить новий рядок.
Є дві дуже малопомітні зміни ‒ ми вставили дивну пару символів всередині речень. Вона
виглядає так: \n.
Зворотний слеш (\) має спеціальне значення при використанні всередині рядків -
він називається символом екранування.
Літера n, що ставиться після зворотного слеша, походить від слова newline (новий
рядок).
print("\")
а цей - ні:
print("\\")
Маємо один виклик функції print(), але він містить три аргументи. Всі вони ‒
рядки.
У цьому випадку коми, що розділяють аргументи, відіграють зовсім іншу роль, ніж
кома всередині рядка. Перша є частиною синтаксису мови Python, а друга
призначена для відображення в консолі.
Функція print() має два аргументи ключових слів, які ви можете застосовувати для
своїх цілей. Перший називається end.
Як бачимо, ключове слово end визначає символи, які функція print() посилає на
виведення після того, як досягає кінця своїх позиційних аргументів.
Оскільки end аргумент був заданий порожнім, функція print() також нічого не
виводить після того, як закінчаться її позиційні аргументи.
Функція print() тепер використовує тире замість пробілу для розділення виведених
аргументів.
Примітка: значенням аргументу sep може бути і порожній рядок. Спробуйте самі.
Змініть перший рядок коду в редакторі, використовуючи ключові слова sep та end,
щоб він відповідав очікуваному результату. Використовуйте дві функції print() у
редакторі.
Очікуваний результат
Не змінюйте нічого під час другого виклику print().
Відповідь
Намагайся:
двічі:
* *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
****** ************ ******
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
******* *******
2.1.14 ПІДСУМКИ РОЗДІЛУ
1. Функція print() є вбудованою функцією. Вона друкує/виводить на
екран/консоль вказане повідомлення.
Рядок 5 видасть SyntaxError, тому що символ (') у рядку Розв'язок рівняння. вимагає
екранування.
123
Що відбулося? Що це означає?
Процес нагадує написання цифр олівцем на папері ‒ це просто рядок цифр, з яких
складається число. Але є обмеження ‒ не можна вставляти всередину будь-які
символи, що не є цифрами.
Тому це число можна записати або так: 11111111, або так: 11_111_111.
У мові Python є дві додаткові домовленості, які невідомі світу математики. Перша
дозволяє використовувати числа у вісімковому представленні.
Це числа, які мають (або можуть мати) дробову частину після крапки, і хоча таке
визначення не дуже вдале, воно, безумовно, достатнє для того, щоб його
обговорити.
Кожного разу, коли ми використовуємо такі терміни, як два з половиною або мінус
нуль цілих чотири десятих, ми думаємо про числа, які комп'ютер вважає числами
з рухомою крапкою:
2.5
-0.4
Python не прийме цього, або (у дуже рідкісних, але можливих випадках) може
неправильно зрозуміти ваші наміри, оскільки кома в Python має власне
зарезервоване значення.
Якщо ви хочете ввести значення два з половиною, вам слід записати його так, як
показано вище. Зверніть увагу ще раз: між 2 і 5 стоїть крапка, а не кома.
Як ви, скоріше за все, здогадуєтесь, значення нуль цілих чотири десятих можна
записати на мові Python так:
0.4
Але не забувайте про просте правило ‒ нуль можна опускати, коли він є єдиною цифрою
перед десятковою крапкою або після неї.
.4
4.
4
4.0
Вам може здатися, що вони абсолютно однакові, але Python бачить їх зовсім по-
різному.
Для запису будь-яких дуже великих або дуже маленьких чисел можна
використовувати наукові позначення.
3E8
Примітка:
6.62607E-34
0.0000000000000000000001
2.2.4 Рядки
Рядки використовуються, коли потрібно обробити текст (наприклад, імена всіх
видів, адреси, романи тощо), а не числа.
Ви вже трохи знаєте про них, наприклад, що рядки потребують лапок так само,
як числа з рухомою крапкою потребують крапок.
Друге рішення може бути трохи дивним. Python може використовувати апостроф
замість лапки. Будь-який з цих символів може розділяти рядки, але ви повинні
бути послідовні.
Кодування рядків
'' ""
Так, це істина;
Ні, це хибність.
True False
Додатково
Існує ще один спеціальний літерал, який використовується в Python: літерал None.
Цей літерал є об’єктом типу NoneType і використовується для
позначення відсутності значення. Незабаром ви дізнаєтесь про це більше.
Перший – рядок,
1011
+
-
*
/
//
%
**
Порядок їх розміщення не випадковий. Ми поговоримо про це більш детально,
коли їх всіх розглянемо.
Піднесення до степеня
Запустіть код і уважно подивіться на результати, які він видає. Ви бачите тут якусь
закономірність?
Множення
Виконайте код наведений нижче і перевірте, чи працює наше правило для цілих
чисел та чисел з рухомою крапкою.
Ділення
2 / 1.
Це проблема? Так. Іноді трапляється так, що потрібне ділення, яке дає ціле
значення, а не з рухомою крапкою.
в його результаті відсутня дробова частина – вона відсутня (для цілих чисел) або
завжди дорівнює нулю (для чисел з рухомою крапкою); це означає, що результати
завжди округляються;
дотримується правил цілих та чисел з рухомою крапкою.
Примітка
Python допоможе вам у цьому. Він пропонує для цього спеціальні «коробки» (або
«контейнери», як ми будемо їх називати), і ці коробки називаються змінними ‒
сама назва підказує, що вміст цих контейнерів можна змінювати у (майже) будь-
який спосіб.
ім'я;
значення (вміст контейнера)
MyVariable
i
l
t34
Exchange_Rate
counter
days_to_christmas
TheNameIsTooLongAndHardlyReadable
_
Adiós_Señora
sûr_la_mer
Einbahnstraße
змінна.
Примітка
PEP 8 -- Style Guide for Python Code рекомендує наступний порядок іменування
змінних та функцій у мові Python:
імена змінних повинні бути написані малими літерами, з розділенням слів
символом підкреслення для покращення читабельності (наприклад, var,
my_variable)
імена функцій дотримуються тих самих правил, що й імена змінних
(наприклад, fun, my_function)
також можна використовувати змішаний регістр (наприклад, myVariable), але
тільки в ситуаціях, коли це вже є загальноприйнятим стилем, щоб зберегти
зворотну сумісність з прийнятою конвенцією.
Ключові слова
Подивіться на список слів, які відіграють особливу роль у кожній програмі Python.
import
Import
Що завгодно.
Ви можете використовувати змінну для зберігання будь-якого значення будь-якого
з уже представлених типів, а також багатьох інших, які ми вам ще не показали.
Значення змінної – це те, що ви в неї вклали. Воно може змінюватися так часто, як
ви цього хочете або потребуєте. Воно може бути цілим числом зараз, або числом
з рухомою крапкою вже через мить, в подальшому перетворюючись на рядок.
Пам'ятайте
А знаєте чому? Ми спробували використати змінну з іменем Var, яка не має ніякого
значення (зверніть увагу: var і Var — це різні об'єкти, які не мають нічого спільного
з точки зору Python).
Пам'ятайте
Результат:
Він присвоює значення свого правого аргументу лівому, при цьому правий
аргумент може бути яким завгодно складним виразом, що включає в себе
літерали, оператори і вже визначені змінні.
Третій рядок присвоює тій самій змінній нове значення, взяте з самої змінної та
додане до 1. Побачивши такий запис, математик, напевно, запротестував би ‒
жодне значення не може дорівнювати самому собі плюс одиниця. Це протиріччя.
Але Python розглядає знак = не як рівність, а як присвоєння значення.
500 - чому? Ну, спочатку створюється змінна var і їй присвоюється значення 100. Потім
цій же змінній присвоюється нове значення: результат додавання 200 до 300, тобто 500.
2.4.6 Розв’язування простих математичних
задач
Ви вже повинні вміти складати короткі програми, що розв'язують прості
математичні задачіі, такі як теорема Піфагора:
√ (x) = x (½)
та
c = √ a2 + b2
Чи можете ви передбачити результат?
c = 5.0
Одного разу в Яблуневій країні у Івана було три яблука, у Марії ‒ п'ять яблук, а у
Адама ‒ шість яблук. Всі вони були дуже щасливі і жили довго. Кінець історії.
Ваше завдання:
Python пропонує вам скорочений спосіб запису таких операцій, які можуть бути записані
наступним чином:
Спробуємо надати загальну характеристику цим операціям. Якщо op є оператором
з двома аргументами (це дуже важлива умова), і оператор використовується в
наступному контексті...:
variable op = expression
Розширені оператори
Вираз
присвоєння
i = i + 2 * j i += 2 * j
x = x ** 2 x **= 2
милі в кілометри;
кілометри в милі.
Порада
Але є ще одна цікава річ, яка там відбувається. Ви бачите іншу функцію всередині
функції print()? Це функція round(). Її робота полягає в тому, щоб округлити
виведений результат до заданої в дужках кількості знаків після крапки і повернути
число з рухомою крапкою (всередині функції round() можна знайти ім'я змінної,
кому та кількість знаків після крапки на яку ми розраховуємо). Незабаром ми
поговоримо про функції, тож не переживайте, якщо не все зрозуміло. Ми просто
хочемо розпалити вашу цікавість.
Очікуваний результат
Подивіться на код у редакторі: він зчитує значення float, поміщає його у змінну з
іменем x і виводить значення змінної з іменем y. Ваше завдання — завершити код,
щоб обчислити наступний вираз:
3x3 - 2x2 + 3x - 1
Зразок введення
x = 0
x = 1
x = -1
Зразок виведення
y = -1.0
y = 3.0
y = -9.0
2.4.11 ПІДСУМКИ РОЗДІЛУ
1. Змінна - це іменована ділянка, зарезервована для зберігання значень у
пам'яті. Змінна створюється або ініціалізується автоматично при першому
присвоєнні їй значення. (2.4.1)
2. Кожна змінна повинна мати унікальне ім’я – ідентифікатор. Ім'я легального
ідентифікатора має бути непорожньою послідовністю символів, починатися з
символу підкреслення (_) або літери та не може бути ключовим словом мови
Python. Після першого символу можуть йти підкреслення, літери та цифри.
Ідентифікатори в Python чутливі до регістру.
Відповідь: 3
Відповідь: 11
Відповідь: 1.0
Щоразу, коли Python зустрічає коментар у вашій програмі, він повністю прозорий –
з точки зору Python, це лише один пробіл (незалежно від того, якої довжини
реальний коментар).
Якщо вам потрібен коментар, який охоплює кілька рядків, ви повинні поставити
хештег перед усіма рядками. Так само як тут:
Це часто робиться під час тестування програми, щоб ізолювати місце, де може
бути прихована помилка.
Порада
Якщо ви хочете швидко закоментувати або розкоментувати кілька рядків коду,
виберіть рядок (рядки), які ви хочете закоментувати, і скористайтеся наступною
комбінацією клавіш: CTRL + / (Windows) або CMD + / (Mac OS). Це дуже корисна
порада, чи не так? Тепер поекспериментуйте з кодом в редакторі.
Примітка
2. Якщо ви хочете розмістити коментар, який займає кілька рядків, вам потрібно
поставити # перед усіма ними. Крім того, за допомогою коментування можна
відмітити непотрібний на даний момент фрагмент коду (див. останній рядок
фрагменту нижче):
5. Коментарі можуть бути важливими, коли ви читаєте власний код через деякий
час (можете нам повірити, розробники забувають, що робить їх власний код),
або коли інші читають ваш код (вони можуть допомогти їм швидше зрозуміти,
що роблять ваші програми і як вони це роблять).
print() не має результату, який можна було б використати. Смисл нової функції
полягає в тому, щоб повертати результат, який можна буде використати в
подальшому.
Примітка:
Примітка:
Такий варіант виклику input() спрощує код та робить його більш зрозумілим.
Це заборонено.
Це дуже просто і дуже ефективно. Крім того, можна викликати будь-яку з функцій,
передавши їм безпосередньо результати input(). Немає необхідності
використовувати будь-яку змінну як проміжне сховище.
Ось так:
Ми хочемо показати, що у них є і друга функція. Вони вміють робити щось більше,
ніж просто додавати і множити.
Ми бачили їх в дії, коли їх аргументами були числа (числа з рухомою крапкою або
цілі, це не має значення).
Зараз ми покажемо вам, що вони можуть працювати і з рядками, хоча і в дуже
специфічний спосіб.
Реплікація
Знак * (зірочка) при застосуванні до рядка і числа (або числа і рядка, оскільки їх
можна міняти місцями) стає оператором реплікації :
Він повторює рядок стільки ж разів, скільки задається числом.
Наприклад:
Пам'ятайте
str()
Насправді, він може набагато більше, ніж просто перетворювати числа в рядки, але це
може трохи почекати.
Ми трохи змінили її, щоб показати вам, як працює функція str(). Завдяки цьому ми
можемо передати у функцію print() весь результат одним рядком,
відмовившись від ком.
Ваше завдання полягає у тому, щоб доповнити код таким чином, аби оцінити
результати виконання чотирьох основних арифметичних дій.
Сценарій
Тестові Дані
2.6.11 LAB Оператори та вирази - 2
Сценарій
Ваше завдання полягає в тому, щоб підготувати простий код, який зможе
обчислити час закінчення відрізку часу, заданого у вигляді кількості хвилин (він
може бути як завгодно великим). Час початку подається у вигляді годин (0..23) і
хвилин (0..59). Результат має бути виведений на консоль.
Уважно перевірте свій код. Підказка: використання оператора % може бути ключем
до успіху.
Тестові Дані
2.6.12 ПІДСУМКИ РОЗДІЛУ
1. Функція print() відправляє дані на консоль, а функція input() отримує дані з
консолі.
Примітка
Порада: вищезгадана особливість функції input() може бути використана для того,
щоб запропонувати користувачу завершити програму. Подивіться на код нижче:
Відповідь: 55
МОДУЛЬ 2 ТЕСТ
Чудово! Ви досягли кінця Модуля 2 і завершили важливий етап у вашому вивченні
програмування на Python. Нижче наведено короткий огляд тем, які було
розглянуто в Модулі 2:
Тепер ви готові скласти тест з модуля, який допоможе оцінити отримані вами
навички.
Удачі!
3.1 Розділ 1 – Прийняття рішень у Python
Ласкаво просимо до третього модуля! У першому розділі ми дізнаємося про умовні
оператори та як їх використовувати для прийняття рішень у Python.
так, це істина;
ні, це хибність.
Для того, щоб задавати запитання, Python пропонує набір дуже особливих
операторів. Розглянемо їх один за одним, ілюструючи їхню дію на простих
прикладах.
3.1.3 Вправи
Тепер давайте поставимо кілька запитань. Спробуйте вгадати відповіді.
2 == 2
2 == 2.
1 == 2