SlideShare a Scribd company logo
Python для фізиків.
Вступ
Луцьк - 2020
Міністерство освіти і науки України
Східноєвропейський національний університет імені Лесі Українки
Кафедра теоретичної та математичної фізики імені А. В. Свідзинського
Вілігурський Олег Миколайович
старший викладач кафедри теоретичної та
математичної фізики імені А. В. Свідзинського
Зміст
 Що таке Python? 8
 Історія 9
 Основні переваги 10
 Сфера використання 11
 Python вміє… 12
 Чому Python? 13
 Особливості синтаксису Python 14
 Приклади використання 15
 Починаємо! 16
 Перша програма 18
 Синтаксис 19
 Змінні 21
 Правила для імен змінних 23
 Виведення значень змінних 25
 Локальні і глобальні змінні 27
 Ключове слово global 29
 Типи даних у Python 31
 Числа 34
 Перетворення типів 35
 Випадкові числа 36
 Текстові (рядкові) дані 38
 Рядки як масиви 39
 Методи рядкових величин 41
 Форматування рядків 45
 Символ екранування 46
 Булеві (логічні) величини 47
 Оператори 49
 Функції 53
 Аргументи функції 55
 Директива return 60
 Колекції Python (масиви) 61
 Списки 62
 Копіювання списку 71
 Методи списків 77
 input. Введення даних 79
 Умовний оператор if 80
 elif 81
 else 82
 Цикл while 87
 Цикл for 90
 Функція range 92
 Кортежі 96
 Словники 103
 Робота з файлами 113
 Додаток 119
 Додаткові джерела 120
Що таке Python?
 Python – це
інтерпретована об'єктно-
орієнтована мова
програмування високого
рівня зі строгою
динамічною типізацією.
Історія
 Python розроблений у
1990 році голландським
програмістом Гвідо ван
Россумом.
 Названий на честь
британського комедійного
серіалу 70-х років XX ст.
«Повітряний цирк Монті
Пайтона» (Monty Python's
Flying Circus).
Основні переваги
 чистий синтаксис (для виділення блоків використовують
відступи);
 переносимість програм;
 велика кількість корисних модулів (включно з модулем для
розробки графічного інтерфейсу);
 можливість використання Python в діалоговому режимі (дуже
корисно для експериментування та розв'язання простих
задач);
 стандартний дистрибутив має просте, але досить потужне
середовище розробки IDLE;
 зручний для розв'язання математичних проблем (має засоби
роботи з комплексними числами, може оперувати з цілими
числами довільної величини, у діалоговому режимі може
використовуватися як потужний калькулятор);
 відкритий код.
Сфера використання
 веб-розробка (server-side);
 розробка додатків;
 математика;
 системний скриптинг;
 навчання;
 …
Python вміє:
 Python може використовуватись на серверному боці
для створення веб-додатків;
 Python можна використовувати з іншим програмним
забезпечення у робочих процесах;
 Python може з’єднуватись з базами даних. Він також
може читати і змінювати файли;
 Python може використовуватись для обробки великих
масивів даних і виконання комплексних
математичних обчислень;
 Python можна використовувати як для швидкого
написання програм-прототипів, так і для кінцевих
програмних продуктів.
Чому Python?
 Python працює на різних платформах (Windows, Mac,
Linux…);
 Python простий синтаксис, схожий до звичайної
англійської мови;
 Синтаксис Python дозволяє писати програми з
меншою кількістю рядків, ніж більшість інших мов;
 Python виконується інтерпретатором, а значить, код
можна виконувати, як тільки він написаний. Тому
написання прототипів можу бути дуже швидким;
 Python підтримує як процедурне програмування, так і
об’єктно-орієнтоване і функціональне.
Особливості синтаксису Python
 Python був розроблений для читабельності і
має певну схожість з англійською мовою з
впливом математики;
 Python використовує нові рядки для
завершення команди, на відміну від інших
мов програмування, які часто використовують
крапку з комою або круглі дужки;
 Для визначення області застосування Python
покладається на відступи пробілами;
наприклад, так задаються області циклів,
функцій та класів. Інші мови програмування
часто використовують для цієї мети фігурні
дужки.
Приклади використання
 Пошукові інструменти Google розроблялись
значною мірою у Python;
 Програмна частина Youtube в значній мірі
писалась на Python;
 Система peer-to-peer обміну файлами
BitTorrent була розроблена на Python;
 Фреймворк веб-розробки Google Apps широко
використовую Python;
 Система 3D-моделювання та анімації Maya
використовує Python-скрипти;
 Великі фінансові компанії зазвичай
використовують Python при розробці
фінансових додатків.
Починаємо!
 Інтерактивний режим (командний рядок)
Починаємо!
 IDLE (Integrated Development and
Learning Environment)
Перша програма
 Запустіть IDLE
 Створіть файл (Ctrl + N)
 Наберіть
print("Hello, World!")
 Збережіть під назвою helloworld.py
 Run  Run Module (F5)
Синтакс
 Для виділення блоків коду
використовують відступи (пробілами).
Приклади:
 Коментарі
У Python не передбачений окремий синтаксис для
багаторядкових коментарів! “Викрутитись” можна
коментуванням кожного рядка або за допомогою потрійних
лапок """ …""" .
Поки рядок не призначений змінній,
Python прочитає код, але проігнорує
його, і ви отримаєте багаторядковий
коментар.
Змінні
 Змінні є контейнерами для зберігання
значень даних.
 На відміну від багатьох інших мов
програмування, Python не має команди
для оголошення змінної.
 Змінна створюється в той момент, коли
ви вперше надаєте їй значення.
Нема потреби декларувати тип змінної. Змінні навіть можуть
змінювати свій тип після їх призначення.
Рядкові змінні можна оголошувати або за допомогою
одинарних або подвійних лапок:
Правила для імен змінних
 Ім'я змінної повинно починатися з
літери або символу підкреслення
 Ім'я змінної не може починатися з
цифри
 Ім'я змінної може містити лише
латинські букви, цифри та підкреслення
(A-z, 0-9 та _)
 Імена змінних залежать від регістру
(age, Age і AGE - це три різні змінні)
Python дозволяє призначити значення декільком змінним в одному рядку:
Можна, також, надавати одне і те ж значення кільком змінним в одному рядку:
Виведення значень змінних
 Виводити значення змінних можна
оператором print
 Щоб поєднати текст і змінну або додати
змінну до змінної, використовується
символ +:
З числами + працює як математичний оператор:
Якщо ви спробуєте поєднати рядок і число, Python видасть вам
помилку:
Локальні і глобальні змінні
 Змінні, які створюються поза функцією
(як і в усіх наведених вище прикладах),
називають глобальними змінними.
 Глобальні змінні можна використовувати
всюди, як усередині функцій, так і поза
ними.
 Якщо ви створюєте змінну з таким
самим іменем всередині якоїсь функції,
ця змінна буде локальною, вона може
використовуватись тільки всередині цієї
функції. Глобальна змінна з таким
самим іменем залишиться незмінною і з
незмінним значенням.
Ключове слово global
 Можна створити глобальну змінну
всередині функції, якщо використати
ключове слово global.
Перевірте, що буде, якщо “закоментувати” рядок
global x
 Ключове слово global
використовується також тоді, коли
всередині функції треба змінити
значення глобальної змінної.
Порівняйте:
Типи даних у Python
 Вбудовані типи даних:
Рядковий: str
Числові типи: int, float, complex
Послідовності: list, tuple, range
Словники: dict
Набори (Set Types): set, frozenset
Булеві типи: bool
Бінарні типи: bytes, bytearray, memoryview
 Тип даних будь-якого об'єкта можна
отримати функцією type():
 Змінним призначається тип даних при їх
створенні. Приклади:
Якщо треба явним чином вказати тип даних, це можна
зробити такими функціями:
Числа
 У Python є три типи чисел:
int (1, 35656222554887711 , -72522)
float (-35.59, 35e3, 12E4 , -87.7e-10)
complex (3+5j, 1j, -5j, 3e4+5e-1j)
Перетворення типів
 Перетворювати типи чисел з одного в
інший можна такими методами: int(),
float(), complex()
Зауваження: комплексні числа неможливо перетворювати в будь-який інший тип.
Випадкові числа
 У Python нема функції random() для
генерування випадкового числа, але у
Python є вбудований модуль random,
який може використовуватися для
створення випадкових чисел.
 Будь-який модуль перед використанням
потрібно імпортувати. Наприклад, для
модуля random пишемо рядок:
 Приклади:
Текстові (рядкові) дані
 Рядкові літерали беруться у подвійні
або в одинарні лапки:
'hello' це те саме, що й "hello".
Для багаторядкового тексту слід використати потрійні лапки:
Можна й так:
'''...'''
Рядки як масиви
 Як і в багатьох інших мовах, у Python з
рядковими величинами можна
працювати як з масивами. Для доступу
до елементу такого масиву можна
використати номер в квадратних
дужках. Нумерація починається з 0.
“Нарізка” (slicing) рядкової величини:
Вибираємо символи від позиції 2 до позиції 5 (не включаючи!):
Нумерація символів може вестися від кінця:
Довжину рядка можна отримати функцією len():
Один з аргументів можна опустити:
Методи рядкових величин
strip() - видаляє всі пробіли на початку і в кінці:
lower() – повертає рядок в нижньому регістрі:
upper() – повертає рядок в верхньому регістрі:
Метод replace() заміняє рядок на інший рядок:
Зауваження. Змінна a при цьому не змінюється!
Метод split() розділяє рядок на підрядки за місцями
розташування сепараторів:
Щоб перевірити, чи міститься певний символ чи група
символів у рядку, можна використати ключові слова in
або not in.
Конкатенація (об’єднання) рядків виконується
оператором +:
Форматування рядків
Вивчаючи змінні, ми зауважували, що не можна
поєднувати (“додавати”) числа і рядки таким чином:
Буде помилка!
Числа і рядки можна комбінувати за допомогою методу
format().
Цей метод отримує передані аргументи, форматує їх і
поміщає в рядок туди, де знаходяться фігурні дужки {}:
Метод format() може мати необмежене число
параметрів, вони поміщаються на місця відповідних
фігурних дужок.
Символ екранування
 Щоб вставити в текст недопустимі
символи, використовується символ
екранування – .
код результат
' '
 
n новий рядок
r початок рядка
t табуляція
b Backspace
Булеві (логічні) величини
 Логічні величини можуть набувати лише
двох значень: True і False
 Майже всі величини трактуються
Python’ом як True. А саме:
 будь-який рядок є True, крім порожнього
рядка;
 будь-яке число є True, крім 0;
 будь-який список, кортеж, набір і словник є
True, крім порожніх.
Приклади:
Оператори
 Арифметичні
оператори:
+ Додавання x + y
- Віднімання x - y
* Множення x * y
/ Ділення x / y
% Ділення за модулем x % y
** Піднесення до степеня x ** y
// Ділення націло x // y
 Оператори
присвоєння
= x = 3 x = x
+= x += 3 x = x + 3
-= x -= 3 x = x - 3
*= x *= 3 x = x * 3
/= x /= 3 x = x / 3
та інші…
 Оператори
порівняння:
== =
!= ≠
> >
< <
>= ≥
<= ≤
 Логічні оператори
and
or
not
 Оператори
ідентифікування
is
is not
 Оператори
включеності
in
not in
Функції
Функція - це блок коду, який запускається
лише тоді, коли він викликається.
Функції можна передавати дані, які
називають параметрами.
Функція може повертати на виході певні
дані.
У Python функція визначається за
допомогою ключового слова def, а
викликається за своїм іменем разом з
дужками.
Аргументи функції
Функція може отримувати один чи кілька
аргументів, розділених комами.
За замовчуванням потрібно викликати функцію з
правильною кількістю аргументів. Це означає, що якщо
ваша функція очікує 2 аргументи, вам доведеться
викликати функцію саме з 2 аргументами.
Якщо наперед не відомо, скільки аргументів буде
передано функції, перед іменем параметра у визначенні
функції додається *.
Таким чином функція отримує кортеж з аргументів і
може відповідним чином мати доступ до його елементів:
:
Порядок передачі аргументів може бути довільним,
якщо передавати їх за синтаксисом ключ = величина.
При визначенні функції їй можна надавати значення
аргументу по замовчуванню. Воно буде використане,
якщо при виклику функції параметр не вказується.
Директива return
Щоб функція повертала якусь величину,
використовується ключове слово return
Колекції Python (масиви)
У Python є чотири типи колекцій даних
 List (cписок) – містить впорядковані дані, які
можна змінювати. Дозволене дублювання
елементів.
 Tuple (кортеж) – впорядковані незмінювані
елемени. Дозволене дублювання елементів.
 Set (набір) – невпорядкована і неіндексована
колекція, у якій не допускаються дублікати.
 Dictionary (словник) - це набір без
впорядкування, з можливістю змін і з
індексацією. Дублікати не допускаються.
Списки
 List (cписок) – містить впорядковані
дані, які можна змінювати. Дозволене
дублювання елементів.
 Списки позначаються квадратними
дужками.
 Доступ до елемента списку виконується
за його індексом. При цьому допустимі
від’ємні значення індексів (відлік буде
вестить з кінця) і діапазон індексів:
Слід пам’ятати: нумерація починається з 0, а другий
аргумент з діапазону НЕ включається до результуючого
списку.
 Зміна значення елемента списку:
 Перебір елементів списку можна
виконати циклом for:
Перевірити наявність елемента у певному
списку можна ключовим словом in
Кількість елементів списку (довжина)
отримується функцією len()
Щоб додати до кінця списку новий елемент,
використовується метод append()
Щоб додати новий елемент в довільному місці,
використовується метод insert()
Видалення елементів зі списку
 Метод remove() видаляє елемент з
певним значенням:
Якщо таких кілька, видаляється перший з них
 Метод pop() видаляє елемент із
вказаним індексом (або останній
елемент, якщо індекс не вказаний):
 Ключове слово del видаляє елемент із
вказаним індексом:
 Ключове слово del може також
видалити список повністю:
 Метод clear() очищує список, але не
знищує його:
Копіювання списку
 Ви не можете скопіювати список, просто
вказавши list2 = list1, оскільки
list2 буде лише посиланням на
list1, і зміни, внесені в list1, будуть
автоматично будуть внесені в list2.
Способи створення копії списку:
 використання вбудованого для об’єктів
List методу copy():
 використання вбудованого методу list():
Способи об’єднання списків:
 оператор +;
 метод append();
 метод extend().
 Об’єднання списків оператором +:
Типи даних можуть бути різні
 метод append():
 метод extend();
Створення списків конструктором list()
Елементами списків можуть бути будь-які
об’єкти, зокрема, списки.
Питання: що буде виведено такою командою:
print(students[1][1])
Методи списків
Метод Опис
append() Додає елемент до кінця списку
clear() Видаляє всі елементи зі списку
copy() Повертає копію списку
count() Повертає кількість елементів із вказаним значенням
extend() Додає елементи списку в кінець існуючого списку
index() Повертає індекс першого елемента з вказаним значенням
insert() Вставляє елемент у вказане положення
pop() Видаляє елемент з вказаного положення
remove() Видаляє елемент з вказаним значенням
reverse() Перевертає порядок елементів списку
sort() Сортує список
 Приклад використання деяких методів:
Наполегливо рекомендується відтворити цей код!
input(). Введення даних.
 Для введення даних користувачем з
клавіатури використовується функція
input().
 Введені дані можна надати
змінній.
 Всі введені таким чином
користувачем дані мають рядковий
тип.
Python. 3. Functions
Умовний оператор if
 Умовний оператор дозволяє виконувати
якусь частину програми тільки тоді, коли
виконується певна умова. Найпростіший
приклад використання:
elif
 Ключове слово elif (скорочення від
else if – “інакше, якщо”) - це спосіб
сказати: "Якщо попередні умови не були
істинними, то спробуйте цю умову".
else
 Ключове слово else “відловлює” все,
що не потрапило в попередні умови.
 else може використовуватись без elif
Коротка форма оператора if
Якщо після виконання умови має виконуватись лише
одна команда, можна помістити її в тому ж рядку, що й
оператор if.
Коротка форма if-else
Це так званий тернарний вираз для if-else
Вкладений if
Слід ретельно слідкувати за відступами!
Приклад на засвоєння матеріалу:
Цикл while
У циклі while ми можемо виконувати
набір команд доти, доки виконується
певна умова.
Зауваження: цикл while вимагає, щоб відповідні змінні наперед
створені; в цьому прикладі нам потрібно визначити змінну
індексування i, якій ми надали значення 1.
Якщо опустити операцію збільшення i, цикл триватиме вічно.
Python. 5
Команди break і continue
break дозволяє перервати цикл, навіть коли умова ще
виконується:
continue дозволяє “перестрибнути” поточну ітерацію, і
продовжити цикл:
Команда else
else дозволяє запустити код, коли умова більше не
виконується:
Цикл for
Цикл for використовується для перебору
певної послідовності (тобто списку,
кортежу, словника, набору або рядка).
Команди break і continue
break дозволяє перервати цикл до того, як будуть
перебрані усі елементи:
continue дозволяє “перестрибнути” поточну ітерацію, і
продовжити перебір далі:
Функція range
Функція range() повертає послідовність чисел,
починаючи з 0 (за замовчуванням) з кроком на 1
(за замовчуванням) і закінчуючи вказаним
числом.
Синтаксис:
range(start, stop, step)
Параметри:
start Опціональний. Ціле число. Початок діапазону. За замовч. 0.
stop Обов’язковий. Ціле число. Кінець діапазону.
step Опціональний. Ціле число. Крок діапазону. За замовч. 1.
Приклади:
Команда else
Ключове слово else у циклі for дозволяє
запустити код, коли цикл закінчується:
Вкладений цикл
Внутрішній цикл буде виконуватись по одному разі при
кожній ітерації зовнішнього циклу:
Кортежі
Кортеж у Python – це впорядкований набір
величин, які не можна змінювати. Захист
від змін може збільшити швидкість
виконання програми, крім того, це є
“захистом від дурня”.
Кортеж поміщається в круглі дужки:
Доступ до елементів кортежу здійснюється через їх
індекси (в квадратних дужках).
Допускається нумерація з кінця (від’ємний індекс) і
діапазон індексів.
Приклади:
Конструктор tuple()
Будь-яку послідовність можна
перетворити у кортеж функцією tuple().
Наприклад:
Кортеж з одного елемента
Одноелементний кортеж (фактично – константу) можна
створити так:
Обов’язкова кома після елемента! Інакше це не
сприйматиметься як кортеж.
Операції з кортежами
З кортежами допустимі ті операції, що й зі списками,
якщо вони не передбачають змін кортежу:
- можна робити перебір елементів у циклі for;
- перевірка наявності у кортежі ключовим словом in;
- визначення числа елементів методом len();
- об’єднання кортежів оператором +;
- повторення кортежів певну кількість разів оператором
*;
- метод count() підрахунку елементів з певним
значенням;
- метод index() пошуку елемента з певним значенням
і виведення індексу першого входження.
Приклад – на наступному слайді.
A = (1, 2, 3, 4)
B = [] #B - список!
for x in A:
B.append(x+10)
print (B)
B = tuple(B) #тепер B - кортеж
C = A * 2 + B
print ("C = ", C, "Довжина кортежу C -", len(C))
print(11 in C) #перевірка, чи міститься значення 11 в
кортежі
print(C.index(4)) #індекс елемента кортежу зі значенням
4
print(C.count(2)) #підрахунок кількості елементів 2 у
кортежі
У вигляді кортежу передаються аргументи при створенні
функції, якщо перед іменем параметра у визначенні
функції додається *.
Таким чином функція отримує кортеж з аргументів і
може відповідним чином мати доступ до його елементів:
Словники
Словник – це набір об’єктів, доступ до яких
здійснюється по ключу, а не по індексу. Ключем
може бути будь-який незмінюваний об’єкт,
наприклад, число, рядок чи кортеж. Словники
позначаються фігурними дужками.
Доступ до елементів словника – по ключу
(в квадратних дужках) або методом get.
Довжина словника (кількість пар ключ-
значення) отримується так:
print(len(thisdict))
Перебір елементів словника
Перебирати елементи словника можна в циклі
for. При цьому можна отримувати як ключі, так
і значення.
Ще один спосіб доступу до значень елементів
словника – метод values():
Перебрати і ключі, і значення можна методом
items():
Перевірка існування ключа у словнику
виконується ключовий словом in:
thisdict = {
"name": "Brad",
"surname": "Pitt",
"age": 56
}
print(thisdict)
if "age" in thisdict:
print("У словнику є ключ "age"")
else:
print ("У словнику нема ключа "age"")
if "height" in thisdict:
print("У словнику є ключ "height"")
else:
print ("У словнику нема ключа "height"")
Додати до словника нову пару ключ-
значення можна так:
thisdict["ключ"]=значення
Способи вилучення записів словника:
 метод pop("ключ");
 метод popitem() – останній вставлений у
словник запис;
 команда del () (del thisdict["ключ"])
Команда del може також видалити весь
словник, а метод clear() очищує словник
(без його видалення).
students.clear()
print (students)
del students
print (students) #буде помилка, бо об'єкт students не
існує
Копіювання словника
Так dict2 = dict1 не можна, оскільки там ми будемо
мати тільки два посилання на той самий об’єкт. Зміни у
dict1 автоматично внесуть зміни у dict2.
Можна використати метод copy() або команду dict().
Вкладені словники
Елементами словника можуть бути вкладені словники.
Приклад:
Робота з файлами
Для обробки інформації зі стороннього
файлу, Python повинен його відкрити
функцією open(). Цій функції
передається два параметри: ім’я файлу і
режим.
Приклад:
f = open("demofile.txt", "w")
Файл demofile.txt відкривається у режимі редагування.
Режими відкриття файлу:
"r" - Read – читання. Режим по замовчуванню. Файл
відкривається для читання. Якщо файлу не існує,
функція видає помилку.
"a" - Append – дописування. Файл відкривається для
дописування. Якщо файлу не існує, він створюється.
"w" - Write – вписування. Файл відкривається для
редагування в режимі заміни тексту. Якщо файлу не
існує, він створюється.
"x" - Create – створення. Створюється файл із
вказаним іменем. Якщо такий файл вже існує, функція
видає помилку.
Крім того, можна вказати, що файл відкривається у
бінарному чи текстовому режимі.
"t" - Text (по замовчування) – текстовий режим.
"b" - Binary – бінарний режим (напр. для зображень).
Читання файлу
Після того, як файл відкрито і інформацію з нього
передано певній змінній, її можна прочитати методами
read() або readline().
read() по замовчуванню зчитує усю інформацію, а
read(N) – зчитує N символів.
readline()читає один рядок. Наступний рядок можна
прочитати повторним застосуванням цього методу. Можна,
також, задати циклічне виконання методу readline().
Після роботи з файлом його слід закрити методом
close().
Приклади:
f = open("eneida.txt", "r")
print(f.read()) #виводиться весь вміст файлу
f.close()
f = open("eneida.txt", "r")
print(f.read(5)) #виводиться 5 перших
символів
f.close()
f = open("eneida.txt", "r")
print(f.readline()) #виводиться перший рядок
print(f.readline()) #виводиться другий рядок
f.close()
f = open("eneida.txt", "r")
for x in f:
print(x) #цикл по всьому файлу рядок за
рядком
f.close()
Запис інформації у файл
Коли файл відкритий командою open() і дані з нього
передана ідентифікатору (наприклад, f), запис
інформації в нього можна здійснити методом write().
Дія методу залежить від того, в якому режимі відкрився
файл командою open():
"a" – інформація дописується в кінці файлу;
"w" – існуючий вміст буде замінено на новий.
f = open("demofile2.txt", "a")
txt = """Пішов Мартин у Яготин,
купив собі телятко.
Телятко - хвиць! -
Мартин - беркиць!..
Почнемо знов спочатку...
"""
f.write(txt)
f.close()
Спробуйте запустити файл
кілька разів.
Далі в команді open()
замініть режим "a" на "w"
і ще кілька разів запустіть
файл.
Створення файлів
Файл можна створити командою open() у одному з
наступних режимів:
"x" – Створюється файл із вказаним іменем. Якщо
такий файл вже існує, функція видає помилку.
"a" – Якщо файлу із вказаним іменем не існує, він буде
створений.
"w" – Якщо файлу із вказаним іменем не існує, він буде
створений.
Приклад:
f = open("myfile.txt", "x")
Створюється порожній файл з іменем myfile.txt.
Додаток
Метод Ньютона. Алгоритм
Додаткові джерела:
python.org/ - офіційний сайт з програмним
забезпеченням і документацією;
w3schools.com/python/ - Python Tutorial
(теоретичний матеріал, приклади, вправи);
practicepython.org/ - Practice Python (вправи з
розв’язками);
edabit.com/ - Edabit (інтерактивні завдання з
розв’язками);
pythoner.name/ - документація, онлайн-
підручник;
opentechschool.github.io/ - Python for Beginners.

More Related Content

PPTX
Людина у Всесвіті. Антропний принцип.pptx
PDF
8 хим савчин_тетр_2013_укр
PPTX
Фізика в житті сучасної людини.pptx
PPTX
генератор змінного струму
PPT
Оксиди неметалічних елементів
PPTX
Урок 7. Класифікація та загальна характеристика програмного забезпечення
PPT
прості механізми
PPT
презентація до теми 7. феноли, ароматичні аміни
Людина у Всесвіті. Антропний принцип.pptx
8 хим савчин_тетр_2013_укр
Фізика в житті сучасної людини.pptx
генератор змінного струму
Оксиди неметалічних елементів
Урок 7. Класифікація та загальна характеристика програмного забезпечення
прості механізми
презентація до теми 7. феноли, ароматичні аміни

What's hot (20)

PPTX
Вуглеводні,9 клас
PDF
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІК
PPT
функція у = х 2
PPTX
Вуглеводні. Алкани, алкени, алкіни.
PDF
Electronique-Numérique-TD-7.pdf
PPT
Екологічні проблеми України
PPTX
Оксиген.Кисень. Узагальнення знань з теми.
PPTX
Кристалічні ґратки.
DOC
Закон Джоуля - Ленца
PPTX
тварини африки
DOC
Закон збереження маси речовини під час хімічних реакцій
PPT
Неорганічні лікарські засоби оксигену, гідрогену, мангану, сульфуру, нітрогену
PPTX
Презентація 10 клас Урок 6. Комп`ютерно-орієнтовані засоби діяльності (Ривкін...
PDF
Розгалуження в мові C++
PPT
різноманітність травних систем у тварин
PPT
Основи бібліографічного опису. Аналітичний опис
PPTX
Хімічні властивості оксидів
Вуглеводні,9 клас
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІК
функція у = х 2
Вуглеводні. Алкани, алкени, алкіни.
Electronique-Numérique-TD-7.pdf
Екологічні проблеми України
Оксиген.Кисень. Узагальнення знань з теми.
Кристалічні ґратки.
Закон Джоуля - Ленца
тварини африки
Закон збереження маси речовини під час хімічних реакцій
Неорганічні лікарські засоби оксигену, гідрогену, мангану, сульфуру, нітрогену
Презентація 10 клас Урок 6. Комп`ютерно-орієнтовані засоби діяльності (Ривкін...
Розгалуження в мові C++
різноманітність травних систем у тварин
Основи бібліографічного опису. Аналітичний опис
Хімічні властивості оксидів
Ad

Similar to Python for physicists. introduction (20)

PPTX
1.Основи програмування на Python 2025.pptx
PPTX
опорні схеми
PPTX
Lecture 03 for distance courses "Fundamentals of Informatics"
PPTX
7_1611.pptx
PPTX
тема 7
PPT
Основи алгоритмізації та програмування. Лекція 1
PDF
Python для фізиків. Вступ. Лабораторні роботи.
DOCX
Lesson # 44. repetition algorithms for processing quantities. loop with condi...
PPT
PDF
Лекція_7_МТП_2024_python.pdf
PPTX
Конкурсна робота
PPT
PPTX
методика вивчення теми ос
DOCX
головне меню за допомогою Label
PPT
змінна введення виведення даних
PDF
"Elements of functional programming in C# based on Language-Ext library as an...
PPTX
Реліз Python Start 1й рік.pptxзщшг76789щл
PDF
Python для фізиків. Вступ. Лабораторні роботи
PDF
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
1.Основи програмування на Python 2025.pptx
опорні схеми
Lecture 03 for distance courses "Fundamentals of Informatics"
7_1611.pptx
тема 7
Основи алгоритмізації та програмування. Лекція 1
Python для фізиків. Вступ. Лабораторні роботи.
Lesson # 44. repetition algorithms for processing quantities. loop with condi...
Лекція_7_МТП_2024_python.pdf
Конкурсна робота
методика вивчення теми ос
головне меню за допомогою Label
змінна введення виведення даних
"Elements of functional programming in C# based on Language-Ext library as an...
Реліз Python Start 1й рік.pptxзщшг76789щл
Python для фізиків. Вступ. Лабораторні роботи
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
Ad

More from Олег Вілігурський (20)

PPT
JavaScript. Lectures. part 1. basis
PDF
PDF
Coding for Future in Lutsk. JavaScript. Part 15
PDF
Coding for Future in Lutsk. JavaScript. Part 14
PDF
Coding for Future in Lutsk. JavaScript. Part 13
PDF
Coding for Future in Lutsk. JavaScript. Part 12
PDF
Coding for Future in Lutsk. JavaScript. Part 11
PDF
Coding for Future in Lutsk. JavaScript. Part 10
PDF
Coding for Future in Lutsk. JavaScript. Part 9
JavaScript. Lectures. part 1. basis
Coding for Future in Lutsk. JavaScript. Part 15
Coding for Future in Lutsk. JavaScript. Part 14
Coding for Future in Lutsk. JavaScript. Part 13
Coding for Future in Lutsk. JavaScript. Part 12
Coding for Future in Lutsk. JavaScript. Part 11
Coding for Future in Lutsk. JavaScript. Part 10
Coding for Future in Lutsk. JavaScript. Part 9

Python for physicists. introduction

  • 1. Python для фізиків. Вступ Луцьк - 2020 Міністерство освіти і науки України Східноєвропейський національний університет імені Лесі Українки Кафедра теоретичної та математичної фізики імені А. В. Свідзинського Вілігурський Олег Миколайович старший викладач кафедри теоретичної та математичної фізики імені А. В. Свідзинського
  • 2. Зміст  Що таке Python? 8  Історія 9  Основні переваги 10  Сфера використання 11  Python вміє… 12  Чому Python? 13  Особливості синтаксису Python 14  Приклади використання 15
  • 3.  Починаємо! 16  Перша програма 18  Синтаксис 19  Змінні 21  Правила для імен змінних 23  Виведення значень змінних 25  Локальні і глобальні змінні 27  Ключове слово global 29  Типи даних у Python 31
  • 4.  Числа 34  Перетворення типів 35  Випадкові числа 36  Текстові (рядкові) дані 38  Рядки як масиви 39  Методи рядкових величин 41  Форматування рядків 45  Символ екранування 46  Булеві (логічні) величини 47
  • 5.  Оператори 49  Функції 53  Аргументи функції 55  Директива return 60  Колекції Python (масиви) 61  Списки 62  Копіювання списку 71  Методи списків 77  input. Введення даних 79
  • 6.  Умовний оператор if 80  elif 81  else 82  Цикл while 87  Цикл for 90  Функція range 92  Кортежі 96  Словники 103  Робота з файлами 113
  • 7.  Додаток 119  Додаткові джерела 120
  • 8. Що таке Python?  Python – це інтерпретована об'єктно- орієнтована мова програмування високого рівня зі строгою динамічною типізацією.
  • 9. Історія  Python розроблений у 1990 році голландським програмістом Гвідо ван Россумом.  Названий на честь британського комедійного серіалу 70-х років XX ст. «Повітряний цирк Монті Пайтона» (Monty Python's Flying Circus).
  • 10. Основні переваги  чистий синтаксис (для виділення блоків використовують відступи);  переносимість програм;  велика кількість корисних модулів (включно з модулем для розробки графічного інтерфейсу);  можливість використання Python в діалоговому режимі (дуже корисно для експериментування та розв'язання простих задач);  стандартний дистрибутив має просте, але досить потужне середовище розробки IDLE;  зручний для розв'язання математичних проблем (має засоби роботи з комплексними числами, може оперувати з цілими числами довільної величини, у діалоговому режимі може використовуватися як потужний калькулятор);  відкритий код.
  • 11. Сфера використання  веб-розробка (server-side);  розробка додатків;  математика;  системний скриптинг;  навчання;  …
  • 12. Python вміє:  Python може використовуватись на серверному боці для створення веб-додатків;  Python можна використовувати з іншим програмним забезпечення у робочих процесах;  Python може з’єднуватись з базами даних. Він також може читати і змінювати файли;  Python може використовуватись для обробки великих масивів даних і виконання комплексних математичних обчислень;  Python можна використовувати як для швидкого написання програм-прототипів, так і для кінцевих програмних продуктів.
  • 13. Чому Python?  Python працює на різних платформах (Windows, Mac, Linux…);  Python простий синтаксис, схожий до звичайної англійської мови;  Синтаксис Python дозволяє писати програми з меншою кількістю рядків, ніж більшість інших мов;  Python виконується інтерпретатором, а значить, код можна виконувати, як тільки він написаний. Тому написання прототипів можу бути дуже швидким;  Python підтримує як процедурне програмування, так і об’єктно-орієнтоване і функціональне.
  • 14. Особливості синтаксису Python  Python був розроблений для читабельності і має певну схожість з англійською мовою з впливом математики;  Python використовує нові рядки для завершення команди, на відміну від інших мов програмування, які часто використовують крапку з комою або круглі дужки;  Для визначення області застосування Python покладається на відступи пробілами; наприклад, так задаються області циклів, функцій та класів. Інші мови програмування часто використовують для цієї мети фігурні дужки.
  • 15. Приклади використання  Пошукові інструменти Google розроблялись значною мірою у Python;  Програмна частина Youtube в значній мірі писалась на Python;  Система peer-to-peer обміну файлами BitTorrent була розроблена на Python;  Фреймворк веб-розробки Google Apps широко використовую Python;  Система 3D-моделювання та анімації Maya використовує Python-скрипти;  Великі фінансові компанії зазвичай використовують Python при розробці фінансових додатків.
  • 17. Починаємо!  IDLE (Integrated Development and Learning Environment)
  • 18. Перша програма  Запустіть IDLE  Створіть файл (Ctrl + N)  Наберіть print("Hello, World!")  Збережіть під назвою helloworld.py  Run  Run Module (F5)
  • 19. Синтакс  Для виділення блоків коду використовують відступи (пробілами). Приклади:
  • 20.  Коментарі У Python не передбачений окремий синтаксис для багаторядкових коментарів! “Викрутитись” можна коментуванням кожного рядка або за допомогою потрійних лапок """ …""" . Поки рядок не призначений змінній, Python прочитає код, але проігнорує його, і ви отримаєте багаторядковий коментар.
  • 21. Змінні  Змінні є контейнерами для зберігання значень даних.  На відміну від багатьох інших мов програмування, Python не має команди для оголошення змінної.  Змінна створюється в той момент, коли ви вперше надаєте їй значення.
  • 22. Нема потреби декларувати тип змінної. Змінні навіть можуть змінювати свій тип після їх призначення. Рядкові змінні можна оголошувати або за допомогою одинарних або подвійних лапок:
  • 23. Правила для імен змінних  Ім'я змінної повинно починатися з літери або символу підкреслення  Ім'я змінної не може починатися з цифри  Ім'я змінної може містити лише латинські букви, цифри та підкреслення (A-z, 0-9 та _)  Імена змінних залежать від регістру (age, Age і AGE - це три різні змінні)
  • 24. Python дозволяє призначити значення декільком змінним в одному рядку: Можна, також, надавати одне і те ж значення кільком змінним в одному рядку:
  • 25. Виведення значень змінних  Виводити значення змінних можна оператором print  Щоб поєднати текст і змінну або додати змінну до змінної, використовується символ +:
  • 26. З числами + працює як математичний оператор: Якщо ви спробуєте поєднати рядок і число, Python видасть вам помилку:
  • 27. Локальні і глобальні змінні  Змінні, які створюються поза функцією (як і в усіх наведених вище прикладах), називають глобальними змінними.  Глобальні змінні можна використовувати всюди, як усередині функцій, так і поза ними.
  • 28.  Якщо ви створюєте змінну з таким самим іменем всередині якоїсь функції, ця змінна буде локальною, вона може використовуватись тільки всередині цієї функції. Глобальна змінна з таким самим іменем залишиться незмінною і з незмінним значенням.
  • 29. Ключове слово global  Можна створити глобальну змінну всередині функції, якщо використати ключове слово global. Перевірте, що буде, якщо “закоментувати” рядок global x
  • 30.  Ключове слово global використовується також тоді, коли всередині функції треба змінити значення глобальної змінної. Порівняйте:
  • 31. Типи даних у Python  Вбудовані типи даних: Рядковий: str Числові типи: int, float, complex Послідовності: list, tuple, range Словники: dict Набори (Set Types): set, frozenset Булеві типи: bool Бінарні типи: bytes, bytearray, memoryview
  • 32.  Тип даних будь-якого об'єкта можна отримати функцією type():  Змінним призначається тип даних при їх створенні. Приклади:
  • 33. Якщо треба явним чином вказати тип даних, це можна зробити такими функціями:
  • 34. Числа  У Python є три типи чисел: int (1, 35656222554887711 , -72522) float (-35.59, 35e3, 12E4 , -87.7e-10) complex (3+5j, 1j, -5j, 3e4+5e-1j)
  • 35. Перетворення типів  Перетворювати типи чисел з одного в інший можна такими методами: int(), float(), complex() Зауваження: комплексні числа неможливо перетворювати в будь-який інший тип.
  • 36. Випадкові числа  У Python нема функції random() для генерування випадкового числа, але у Python є вбудований модуль random, який може використовуватися для створення випадкових чисел.  Будь-який модуль перед використанням потрібно імпортувати. Наприклад, для модуля random пишемо рядок:
  • 38. Текстові (рядкові) дані  Рядкові літерали беруться у подвійні або в одинарні лапки: 'hello' це те саме, що й "hello". Для багаторядкового тексту слід використати потрійні лапки: Можна й так: '''...'''
  • 39. Рядки як масиви  Як і в багатьох інших мовах, у Python з рядковими величинами можна працювати як з масивами. Для доступу до елементу такого масиву можна використати номер в квадратних дужках. Нумерація починається з 0.
  • 40. “Нарізка” (slicing) рядкової величини: Вибираємо символи від позиції 2 до позиції 5 (не включаючи!): Нумерація символів може вестися від кінця: Довжину рядка можна отримати функцією len(): Один з аргументів можна опустити:
  • 41. Методи рядкових величин strip() - видаляє всі пробіли на початку і в кінці: lower() – повертає рядок в нижньому регістрі: upper() – повертає рядок в верхньому регістрі:
  • 42. Метод replace() заміняє рядок на інший рядок: Зауваження. Змінна a при цьому не змінюється! Метод split() розділяє рядок на підрядки за місцями розташування сепараторів:
  • 43. Щоб перевірити, чи міститься певний символ чи група символів у рядку, можна використати ключові слова in або not in. Конкатенація (об’єднання) рядків виконується оператором +:
  • 44. Форматування рядків Вивчаючи змінні, ми зауважували, що не можна поєднувати (“додавати”) числа і рядки таким чином: Буде помилка! Числа і рядки можна комбінувати за допомогою методу format(). Цей метод отримує передані аргументи, форматує їх і поміщає в рядок туди, де знаходяться фігурні дужки {}:
  • 45. Метод format() може мати необмежене число параметрів, вони поміщаються на місця відповідних фігурних дужок.
  • 46. Символ екранування  Щоб вставити в текст недопустимі символи, використовується символ екранування – . код результат ' ' n новий рядок r початок рядка t табуляція b Backspace
  • 47. Булеві (логічні) величини  Логічні величини можуть набувати лише двох значень: True і False  Майже всі величини трактуються Python’ом як True. А саме:  будь-який рядок є True, крім порожнього рядка;  будь-яке число є True, крім 0;  будь-який список, кортеж, набір і словник є True, крім порожніх.
  • 49. Оператори  Арифметичні оператори: + Додавання x + y - Віднімання x - y * Множення x * y / Ділення x / y % Ділення за модулем x % y ** Піднесення до степеня x ** y // Ділення націло x // y
  • 50.  Оператори присвоєння = x = 3 x = x += x += 3 x = x + 3 -= x -= 3 x = x - 3 *= x *= 3 x = x * 3 /= x /= 3 x = x / 3 та інші…
  • 51.  Оператори порівняння: == = != ≠ > > < < >= ≥ <= ≤  Логічні оператори and or not
  • 52.  Оператори ідентифікування is is not  Оператори включеності in not in
  • 53. Функції Функція - це блок коду, який запускається лише тоді, коли він викликається. Функції можна передавати дані, які називають параметрами. Функція може повертати на виході певні дані.
  • 54. У Python функція визначається за допомогою ключового слова def, а викликається за своїм іменем разом з дужками.
  • 55. Аргументи функції Функція може отримувати один чи кілька аргументів, розділених комами.
  • 56. За замовчуванням потрібно викликати функцію з правильною кількістю аргументів. Це означає, що якщо ваша функція очікує 2 аргументи, вам доведеться викликати функцію саме з 2 аргументами.
  • 57. Якщо наперед не відомо, скільки аргументів буде передано функції, перед іменем параметра у визначенні функції додається *. Таким чином функція отримує кортеж з аргументів і може відповідним чином мати доступ до його елементів: :
  • 58. Порядок передачі аргументів може бути довільним, якщо передавати їх за синтаксисом ключ = величина.
  • 59. При визначенні функції їй можна надавати значення аргументу по замовчуванню. Воно буде використане, якщо при виклику функції параметр не вказується.
  • 60. Директива return Щоб функція повертала якусь величину, використовується ключове слово return
  • 61. Колекції Python (масиви) У Python є чотири типи колекцій даних  List (cписок) – містить впорядковані дані, які можна змінювати. Дозволене дублювання елементів.  Tuple (кортеж) – впорядковані незмінювані елемени. Дозволене дублювання елементів.  Set (набір) – невпорядкована і неіндексована колекція, у якій не допускаються дублікати.  Dictionary (словник) - це набір без впорядкування, з можливістю змін і з індексацією. Дублікати не допускаються.
  • 62. Списки  List (cписок) – містить впорядковані дані, які можна змінювати. Дозволене дублювання елементів.  Списки позначаються квадратними дужками.
  • 63.  Доступ до елемента списку виконується за його індексом. При цьому допустимі від’ємні значення індексів (відлік буде вестить з кінця) і діапазон індексів: Слід пам’ятати: нумерація починається з 0, а другий аргумент з діапазону НЕ включається до результуючого списку.
  • 64.  Зміна значення елемента списку:  Перебір елементів списку можна виконати циклом for:
  • 65. Перевірити наявність елемента у певному списку можна ключовим словом in Кількість елементів списку (довжина) отримується функцією len()
  • 66. Щоб додати до кінця списку новий елемент, використовується метод append() Щоб додати новий елемент в довільному місці, використовується метод insert()
  • 67. Видалення елементів зі списку  Метод remove() видаляє елемент з певним значенням: Якщо таких кілька, видаляється перший з них
  • 68.  Метод pop() видаляє елемент із вказаним індексом (або останній елемент, якщо індекс не вказаний):
  • 69.  Ключове слово del видаляє елемент із вказаним індексом:  Ключове слово del може також видалити список повністю:
  • 70.  Метод clear() очищує список, але не знищує його:
  • 71. Копіювання списку  Ви не можете скопіювати список, просто вказавши list2 = list1, оскільки list2 буде лише посиланням на list1, і зміни, внесені в list1, будуть автоматично будуть внесені в list2.
  • 72. Способи створення копії списку:  використання вбудованого для об’єктів List методу copy():  використання вбудованого методу list():
  • 73. Способи об’єднання списків:  оператор +;  метод append();  метод extend().
  • 74.  Об’єднання списків оператором +: Типи даних можуть бути різні
  • 75.  метод append():  метод extend();
  • 76. Створення списків конструктором list() Елементами списків можуть бути будь-які об’єкти, зокрема, списки. Питання: що буде виведено такою командою: print(students[1][1])
  • 77. Методи списків Метод Опис append() Додає елемент до кінця списку clear() Видаляє всі елементи зі списку copy() Повертає копію списку count() Повертає кількість елементів із вказаним значенням extend() Додає елементи списку в кінець існуючого списку index() Повертає індекс першого елемента з вказаним значенням insert() Вставляє елемент у вказане положення pop() Видаляє елемент з вказаного положення remove() Видаляє елемент з вказаним значенням reverse() Перевертає порядок елементів списку sort() Сортує список
  • 78.  Приклад використання деяких методів: Наполегливо рекомендується відтворити цей код!
  • 79. input(). Введення даних.  Для введення даних користувачем з клавіатури використовується функція input().  Введені дані можна надати змінній.  Всі введені таким чином користувачем дані мають рядковий тип. Python. 3. Functions
  • 80. Умовний оператор if  Умовний оператор дозволяє виконувати якусь частину програми тільки тоді, коли виконується певна умова. Найпростіший приклад використання:
  • 81. elif  Ключове слово elif (скорочення від else if – “інакше, якщо”) - це спосіб сказати: "Якщо попередні умови не були істинними, то спробуйте цю умову".
  • 82. else  Ключове слово else “відловлює” все, що не потрапило в попередні умови.
  • 83.  else може використовуватись без elif
  • 84. Коротка форма оператора if Якщо після виконання умови має виконуватись лише одна команда, можна помістити її в тому ж рядку, що й оператор if. Коротка форма if-else Це так званий тернарний вираз для if-else
  • 85. Вкладений if Слід ретельно слідкувати за відступами!
  • 87. Цикл while У циклі while ми можемо виконувати набір команд доти, доки виконується певна умова. Зауваження: цикл while вимагає, щоб відповідні змінні наперед створені; в цьому прикладі нам потрібно визначити змінну індексування i, якій ми надали значення 1. Якщо опустити операцію збільшення i, цикл триватиме вічно. Python. 5
  • 88. Команди break і continue break дозволяє перервати цикл, навіть коли умова ще виконується: continue дозволяє “перестрибнути” поточну ітерацію, і продовжити цикл:
  • 89. Команда else else дозволяє запустити код, коли умова більше не виконується:
  • 90. Цикл for Цикл for використовується для перебору певної послідовності (тобто списку, кортежу, словника, набору або рядка).
  • 91. Команди break і continue break дозволяє перервати цикл до того, як будуть перебрані усі елементи: continue дозволяє “перестрибнути” поточну ітерацію, і продовжити перебір далі:
  • 92. Функція range Функція range() повертає послідовність чисел, починаючи з 0 (за замовчуванням) з кроком на 1 (за замовчуванням) і закінчуючи вказаним числом. Синтаксис: range(start, stop, step) Параметри: start Опціональний. Ціле число. Початок діапазону. За замовч. 0. stop Обов’язковий. Ціле число. Кінець діапазону. step Опціональний. Ціле число. Крок діапазону. За замовч. 1.
  • 94. Команда else Ключове слово else у циклі for дозволяє запустити код, коли цикл закінчується:
  • 95. Вкладений цикл Внутрішній цикл буде виконуватись по одному разі при кожній ітерації зовнішнього циклу:
  • 96. Кортежі Кортеж у Python – це впорядкований набір величин, які не можна змінювати. Захист від змін може збільшити швидкість виконання програми, крім того, це є “захистом від дурня”. Кортеж поміщається в круглі дужки:
  • 97. Доступ до елементів кортежу здійснюється через їх індекси (в квадратних дужках). Допускається нумерація з кінця (від’ємний індекс) і діапазон індексів. Приклади:
  • 98. Конструктор tuple() Будь-яку послідовність можна перетворити у кортеж функцією tuple(). Наприклад:
  • 99. Кортеж з одного елемента Одноелементний кортеж (фактично – константу) можна створити так: Обов’язкова кома після елемента! Інакше це не сприйматиметься як кортеж.
  • 100. Операції з кортежами З кортежами допустимі ті операції, що й зі списками, якщо вони не передбачають змін кортежу: - можна робити перебір елементів у циклі for; - перевірка наявності у кортежі ключовим словом in; - визначення числа елементів методом len(); - об’єднання кортежів оператором +; - повторення кортежів певну кількість разів оператором *; - метод count() підрахунку елементів з певним значенням; - метод index() пошуку елемента з певним значенням і виведення індексу першого входження. Приклад – на наступному слайді.
  • 101. A = (1, 2, 3, 4) B = [] #B - список! for x in A: B.append(x+10) print (B) B = tuple(B) #тепер B - кортеж C = A * 2 + B print ("C = ", C, "Довжина кортежу C -", len(C)) print(11 in C) #перевірка, чи міститься значення 11 в кортежі print(C.index(4)) #індекс елемента кортежу зі значенням 4 print(C.count(2)) #підрахунок кількості елементів 2 у кортежі
  • 102. У вигляді кортежу передаються аргументи при створенні функції, якщо перед іменем параметра у визначенні функції додається *. Таким чином функція отримує кортеж з аргументів і може відповідним чином мати доступ до його елементів:
  • 103. Словники Словник – це набір об’єктів, доступ до яких здійснюється по ключу, а не по індексу. Ключем може бути будь-який незмінюваний об’єкт, наприклад, число, рядок чи кортеж. Словники позначаються фігурними дужками.
  • 104. Доступ до елементів словника – по ключу (в квадратних дужках) або методом get. Довжина словника (кількість пар ключ- значення) отримується так: print(len(thisdict))
  • 105. Перебір елементів словника Перебирати елементи словника можна в циклі for. При цьому можна отримувати як ключі, так і значення.
  • 106. Ще один спосіб доступу до значень елементів словника – метод values(): Перебрати і ключі, і значення можна методом items():
  • 107. Перевірка існування ключа у словнику виконується ключовий словом in: thisdict = { "name": "Brad", "surname": "Pitt", "age": 56 } print(thisdict) if "age" in thisdict: print("У словнику є ключ "age"") else: print ("У словнику нема ключа "age"") if "height" in thisdict: print("У словнику є ключ "height"") else: print ("У словнику нема ключа "height"")
  • 108. Додати до словника нову пару ключ- значення можна так: thisdict["ключ"]=значення
  • 109. Способи вилучення записів словника:  метод pop("ключ");  метод popitem() – останній вставлений у словник запис;  команда del () (del thisdict["ключ"])
  • 110. Команда del може також видалити весь словник, а метод clear() очищує словник (без його видалення). students.clear() print (students) del students print (students) #буде помилка, бо об'єкт students не існує
  • 111. Копіювання словника Так dict2 = dict1 не можна, оскільки там ми будемо мати тільки два посилання на той самий об’єкт. Зміни у dict1 автоматично внесуть зміни у dict2. Можна використати метод copy() або команду dict().
  • 112. Вкладені словники Елементами словника можуть бути вкладені словники. Приклад:
  • 113. Робота з файлами Для обробки інформації зі стороннього файлу, Python повинен його відкрити функцією open(). Цій функції передається два параметри: ім’я файлу і режим. Приклад: f = open("demofile.txt", "w") Файл demofile.txt відкривається у режимі редагування.
  • 114. Режими відкриття файлу: "r" - Read – читання. Режим по замовчуванню. Файл відкривається для читання. Якщо файлу не існує, функція видає помилку. "a" - Append – дописування. Файл відкривається для дописування. Якщо файлу не існує, він створюється. "w" - Write – вписування. Файл відкривається для редагування в режимі заміни тексту. Якщо файлу не існує, він створюється. "x" - Create – створення. Створюється файл із вказаним іменем. Якщо такий файл вже існує, функція видає помилку. Крім того, можна вказати, що файл відкривається у бінарному чи текстовому режимі. "t" - Text (по замовчування) – текстовий режим. "b" - Binary – бінарний режим (напр. для зображень).
  • 115. Читання файлу Після того, як файл відкрито і інформацію з нього передано певній змінній, її можна прочитати методами read() або readline(). read() по замовчуванню зчитує усю інформацію, а read(N) – зчитує N символів. readline()читає один рядок. Наступний рядок можна прочитати повторним застосуванням цього методу. Можна, також, задати циклічне виконання методу readline(). Після роботи з файлом його слід закрити методом close().
  • 116. Приклади: f = open("eneida.txt", "r") print(f.read()) #виводиться весь вміст файлу f.close() f = open("eneida.txt", "r") print(f.read(5)) #виводиться 5 перших символів f.close() f = open("eneida.txt", "r") print(f.readline()) #виводиться перший рядок print(f.readline()) #виводиться другий рядок f.close() f = open("eneida.txt", "r") for x in f: print(x) #цикл по всьому файлу рядок за рядком f.close()
  • 117. Запис інформації у файл Коли файл відкритий командою open() і дані з нього передана ідентифікатору (наприклад, f), запис інформації в нього можна здійснити методом write(). Дія методу залежить від того, в якому режимі відкрився файл командою open(): "a" – інформація дописується в кінці файлу; "w" – існуючий вміст буде замінено на новий. f = open("demofile2.txt", "a") txt = """Пішов Мартин у Яготин, купив собі телятко. Телятко - хвиць! - Мартин - беркиць!.. Почнемо знов спочатку... """ f.write(txt) f.close() Спробуйте запустити файл кілька разів. Далі в команді open() замініть режим "a" на "w" і ще кілька разів запустіть файл.
  • 118. Створення файлів Файл можна створити командою open() у одному з наступних режимів: "x" – Створюється файл із вказаним іменем. Якщо такий файл вже існує, функція видає помилку. "a" – Якщо файлу із вказаним іменем не існує, він буде створений. "w" – Якщо файлу із вказаним іменем не існує, він буде створений. Приклад: f = open("myfile.txt", "x") Створюється порожній файл з іменем myfile.txt.
  • 120. Додаткові джерела: python.org/ - офіційний сайт з програмним забезпеченням і документацією; w3schools.com/python/ - Python Tutorial (теоретичний матеріал, приклади, вправи); practicepython.org/ - Practice Python (вправи з розв’язками); edabit.com/ - Edabit (інтерактивні завдання з розв’язками); pythoner.name/ - документація, онлайн- підручник; opentechschool.github.io/ - Python for Beginners.