П90. Створення класів і об’єктів
Прочитайте!
У мові Python реалізація принципів ООП практично зводиться до виконання виразу: <об’єкт>.<атрибут>. Цей вираз уже неодноразово використовувався нами для доступу до атрибутів модуля, звернення до методів об’єктів тощо. Але реалізація таких виразів відбувалася за відсутності в програмі класів.
Якщо програма містить класи, то створюється дерево пов’язаних об’єктів. У такому разі в процесі реалізації виразу <об’єкт>.<атрибут> інтерпретатор починає пошук зазначеного атрибута в дереві пов’язаних об’єктів у такому порядку: спочатку атрибут відшукується в цьому самому об’єкті, потім — у дереві об’єктів знизу догори і зліва направо. Пошук завершується, щойно буде знайдено першу появу атрибута.
Тіло класу містить змінні та функції класу. Функції в ООП називають методами, а змінні класу — атрибутами. Атрибути створюються як звичайні змінні, а методи — як звичайні функції за допомогою інструкції def.
За допомогою параметру self здійснюється доступ до змінних екземпляра класу та методів класу всередині визначеного методу. Параметр self відокремлюється від змінної або методу крапкою. Наприклад, до змінної ask із методу класу можна звернутися так: self.ask.
Структуру класу можна подати детальніше:

Необхідно чітко розуміти, що в результаті виконання інструкції class буде створено новий екземпляр класу, який також є об’єктом, посилання на який присвоюється імені змінної. Якщо цей клас має батьківські класи (суперкласи), від якого він є нащадком, то вони вказуються в круглих дужках через кому. Якщо він не є нащадком, то круглі дужки не вказуються.
Для того щоб можна було використовувати атрибути та методи класу, необхідно створити екземпляр класу за такою структурою:
<екземпляр класу> = <ім’я класу> ([параметри])
Тут <екземпляр класу> є звичайним ідентифікатором. У результаті кожного виконання цієї інструкції у пам’яті комп’ютера виділяється ділянка пам’яті, доступ до якої здійснюється за допомогою пов’язаного з ним ідентифікатора, тобто в пам’яті створюється об’єкт. Цей об’єкт має характеристики того класу, у якому його створено, тобто він отримує атрибути свого класу.
Під час кожного звернення до класу створюється новий екземпляр класу з різними значеннями атрибутів. Наприклад, якщо в класі обчислюється об’єм піраміди з висотою h, основою якої є квадрат зі стороною а, то під час кожного звернення до класу буде створюватися такий самий об’єкт з атрибутами h і a, але значення їх будуть різними.
Зазвичай класи без методів не використовуються.
Працюємо за ПК!

Приклад 2. Розглянемо програму з двома методами, у кожному з яких замість параметра self, використовується ще один параметр.

Основна ідея цієї програми полягає в демонстрації порядку зміни властивостей створених об’єктів за допомогою методів. Дві змінні predm і klas оголошені поза межами методів. Тому обидва об’єкти (ob1 і ob2) набувають властивості, які мають ці змінні, тобто інформатика і 8. А потім за допомогою методів ці властивості змінюються.
У програмі метод func_1 має параметри self і a1, а метод func_2 — параметри self і 2. Ці методи виконують тільки одну дію, а саме: метод func_1 змінює значення змін- ної predm, а метод func_2 — значення змінної klas.
У програмі створено два екземпляри класів: ob1 і ob2. Поза межами методів змінна predm набуває значення «інформатика», а змінна klas — значення 8. За допомогою інструкцій print (ob1.predm, ob1.klas) і print (ob2.predm, ob2.klas) здійснюється виведення значень цих змінних.
Зважаючи на те, що в першій інструкції змінні викликаються з екземпляра ob1, а в другій інструкції вони викликаються з екземпляра ob2, значення змінних однакове, тому двічі буде виведено інформатика 8.
Далі за допомогою інструкції ob1.func_1 («математика») з екземпляра ob1 викликається метод func_1 з аргументом математика. Цей аргумент передається параметру а1, а за допомогою інструкції self.predm = a1 змін- на predm набуває нового значення, а саме — математика.
Звернемо увагу на те, що значення змінної klas екземпляра ob1 не змінювалося, тому за допомогою інструкції print (ob1.predm, ob1.klas) буде виведено математика 8.
Після цього за допомогою інструкцій ob2.func_1 («історія») і ob2.func_2 (9) викликаються методи func_1 і func_2 з екземпляра ob2. У результаті обидві змінні змінюють своє значення і буде надруковано історія 9.
Приклад 3. Дано два конуси різних розмірів із відомими радіусом основи й висоти. Потрібно обчислити об’єм одного з них і загальну площу іншого.

Для обчислення об’єму конуса використовують метод func_1 із параметрами self, a1 і a2, а для обчислення повної поверхні конуса — метод func_2 із параметрами self, a3 і a4.
Звернемо увагу, що в програмі відсутні змінні класу, тобто змінні за межами методів. У процесі звернення до методу func_1 параметру a1 передається число 3, а параметру a2 — число 4. Результат обчислення об’єму конуса повертається в інструкцію, з якої відбулося звернення до методу, тобто до інструкції print (“об’єм = “, ob1.func (3, 4)).
Отже, результат обчислення буде виведено на екран. Після звернення до методу func_2 пара- метр а3 набуде значення 4, а параметр а4 — значення 5. Результат обчислення не повертається в інструкцію, що його викликала, а виводиться за допомогою інструкції print (“площа = “, surface) у цьому самому методі.
Самостійно розв’яжіть задачі!
Задача 1. Змінна a1 набуває значення «інформатика», а змінна a2 — «фізика». Створіть програму з двома об’єктами, але без методу, за допомогою якої з використанням першого об’єкта виводиться слово інформатика, а з використанням другого — фізика.
Задача 2. Змінна а1 набуває значення «байт». Створіть програму з двома об’єктами і функцією. Метод викликається спочатку з першого, потім — із другого об’єкта. Кожного разу виводиться значення змінної а1.
Задача 3. Змінна а набуває значення «Україна», а змін- на b — «Франція». За допомогою інструкції input() уводиться довільне ціле число. Розробіть програму без методів, у якій створюються два об’єкти. Якщо уведене число більше 5, виводиться значення з використанням першого об’єкта, інакше — з використанням другого об’єкта.
Задача 4. Розробіть програму з використанням двох методів. В одному з них обчислюється об’єм кулі радіусом r, а в іншому — площа трикутника зі сторонами a, b, c.
-
Тема 1. Інформаційні технології в суспільстві.
- Урок 1. Інформація, повідомлення, дані, інформаційні процеси, інформаційні системи як важливі складники й ознаки сучасного суспільства. Сучасні інформаційні технології та системи. Людина в інформаційному суспільстві.
- Урок 2. Проблеми інформаційної безпеки. Загрози при роботі в Інтернеті і їх уникнення.
- Урок 3. Навчання в Інтернеті. Професії майбутнього – аналіз тенденцій на ринку праці. Роль інформаційних технологій в роботі сучасного працівника.
- Урок 4. Поняття про штучний інтелект, інтернет речей, Smart-технології та технології колективного інтелекту.
- Урок 5. Комп’ютерно-орієнтовані засоби планування, виконання і прогнозування результатів навчальної, дослідницької і практичної діяльності.
- Урок 6. Інтернет-маркетинг та інтернет-банкінг. Системи електронного урядування.
-
Тема 2. Моделі і моделювання. Аналіз та візуалізація даних
- Урок 7. Комп’ютерне моделювання об’єктів і процесів. Комп’ютерний експеримент
- Урок 8. Основи статистичного аналізу даних. Ряди даних. Обчислення основних статистичних характеристик вибірки.
- Урок 9. Консолідація даних. Зведені таблиці. Інструктаж з ТБ. Практична робота №1 «Консолідація даних. Створення зведеної таблиці»
- Урок 10. Пошук та збір наборів даних. Соціальні аспекти масштабного аналізу даних.
- Урок 11. Розв’язування рівнянь. Розв’язування систем рівнянь, оптимізаційних задач.
- Урок 12. Програмні засоби для складних обчислень, аналізу даних та фінансових розрахунків.
- Урок 13. Візуалізація рядів і трендів даних. Інфографіка.
- Урок 14. Розв’язання задач з різних предметних галузей.
- Урок 15. Інструктаж з БЖД. Практична робота №2 «Розв’язання задач з різних предметних галузей. Обчислення статистичних характеристик»
-
Тема 3. Системи керування базами даних
- Урок 16. Поняття бази даних і систем керування базами даних, їх призначення.
- Урок 17. Введення даних у базу. Створення інтерфейсу користувача для введення даних у базу. Імпорт та експорт бази даних. Зв’язки між таблицями.
- Урок 18. Створення та відкриття бази даних. Створення таблиць та звітів. Введення і редагування даних різних типів.
- Урок 19. Створення форм різних типів. Імпорт даних.
- Урок 20. Створення розділеної форми. Створення головної кнопкової форми. Інструктаж з БЖД. Практична робота №4: «Створення форм»
- Урок 21. Створення запитів. Запити на вибірку даних.
- Урок 22. Практична робота «Створення звітів, запитів, форм за кількома таблицями»
-
Тема 4. Мультимедійні та гіпертекстові документи
- Урок 23. Основні тренди у веб-дизайні. Практикум з використання інформаційних технологій
- Урок 24. Практикум з використання інформаційних технологій. Підготовка проєкту до захисту.
- Урок 25. Типи сайтів та їх особливості. Цільова аудиторія. Захист проєкту
- Урок 26. Технології опрацювання мультимедійних даних. Мова гіпертекстової розмітки.
- Урок 27. Гіпертекстовий документ та його елементи. Текстові елементи веб-сторінки, теги та їх атрибути. Гіперпосилання
- Урок 28. Таблиці та списки на веб-сторінках. Інструктаж з БЖД. Практична робота №6 «Створення веб-сторінки за допомогою мови гіпертекстової розмітки»
- Урок 29. Правила ергономічного розміщення відомостей на веб-сторінці. Пошукова оптимізація та стратегії просування веб-сайтів.
- Урок 30. Роль електронних медійних засобів в житті людини. Системи опрацювання аудіо- та відеоінформації. Інструктаж з БЖД. Практична робота №12 «Оцінка сайту. Просування сайту».
- Уроки 31-33. Проектна діяльність. Розбиття на групи. Вибір теми проекту. Розробка плану проекту. Робота над проектом. Захист проекту
- Урок 34. Хостинг сайту. Взаємодія клієнт-сервер.
- Урок 35. Проектування та верстка веб-сторінок. Адаптивна верстка. Кросбраузерна оптимізація сторінок сайту.
- Урок. Позиціювання елементів веб-сторінки за допомогою стилів.
- Урок. Інструктаж з БЖД. Практична робота № 10 «Створення веб-сторінки з використанням каскадних аркушів стилю»
- Урок. Графіка та мультимедіа для веб-середовища. Використання зображень у веб-документах.
- Урок. Розміщення та відтворення на веб-сторінках мультимедійних даних. Формати аудіо- та відеофайлів.
- Урок. Дотримання авторських прав та ліцензій на використання графічних зображень та засобів мультимедіа на веб-сторінках.
- Урок. Інструктаж з БЖД. Практична робота №11 «Використання графічних, анімаційних та мультимедійних елементів на веб-сторінках».
- Урок . Макет інформаційної структури сайту. Інструктаж з БЖД. Практична робота №8 «Проектування структури сайту».
- Урок. Інформаційна структура сайту. Інструменти веб-розробника. План розробки сайту.
-
Тема 5. Основи електронного документообігу
- Урок 54. Поняття документу. Призначення та класифікація документів. Документообіг. Загальні правила оформлення документів. Стиль ділового листування. Логічні елементи тексту та порядок його викладення.
- Урок 55. Шаблони та формуляр-зразки документа. Реквізити документа. Правила оформлення сторінки. Інструктаж з БЖД. Практична робота №13 «Використання шаблону та формуляр-зразка документа»
- Уроки 56-57. Оформлення бібліографічних списків та покажчиків. Правила та вимоги оформлення письмової роботи. Інструктаж з БЖД. Практична робота №14 «Оформлення письмової роботи зі створенням бібліографічних списків та покажчиків»
- Уроки 58-59. Системи управління електронними документами. Класифікація офісної техніки. Засоби створення, зберігання, обробки, копіювання і транспортування документів. Інструктаж з БЖД. Практична робота №15 «Створення та пересилання документів»
- Уроки 60-61. Електронний документ, його ознаки та правовий статус. Електронний документообіг. Електронний цифровий підпис. Передавання електронних документів. Зберігання електронних документів. Забезпечення конфіденційності електронних документів. Електронний офіс.
- Урок 62. Підсумковий урок з теми: “Основи електронного документообігу””
-
Профільний рівень. Електронні таблиці (повторення)
-
Профільний рівень. Сучасні інформаційні технології
- П7. Сучасні інформаційні технології та системи. Людина в інформаційному суспільстві
- П8. Здібності, креативність і знання в галузі інформатики
- П9. Навчання в Інтернеті
- П10. Програмні засоби для планування, структурування роботи, співпраці
- П11. Роль інформаційних технологій в роботі сучасного працівника.
- П12. Професії майбутнього – аналіз тенденцій на ринку праці. Інструктаж з БЖД. Практична робота №1. «Професії майбутнього. Хмарні сервіси»
- П13. Поняття про штучний інтелект
- П14. Системи електронного врядування
- П15. Інформаційна безпека. Рівні та протоколи інформаційної безпеки
- П16. Керування ризиками в інформаційних системах.
- П17. Виконання індивідуальних та колективних проектів.
-
Аналіз і візуалізація даних
- П19. Комп’ютерне моделювання об’єктів і процесів. Комп’ютерний експеримент.
- П20. Програмні засоби для складних обчислень, аналізу даних та фінансових розрахунків. Електронні таблиці.
- П21. Табличний процесор як засіб для виконання розрахунків
- П23. Розв’язання рівнянь та оптимізаційних задач з різних предметних галузей засобами ІТ.
- П24. Інструктаж з БЖД. Практична робота №2. Використання надбудови Розв’язувач для розв’язання задач
- П25. Розв’язування рівнянь засобами табличного процесора
- П26. Розв’язання систем лінійних рівнянь.
- П27. Матричні операції. Розв’язання систем лінійних рівнянь засобами табличного процесора.
- П28. Основи статистичного аналізу даних. Ряди даних. Обчислення основних статистичних характеристик вибірки. Кореляційний аналіз даних.
- П29. Пошук та збір наборів даних .
- П30. Обчислення основних характеристик вибірки засобом табличного процесора
- П31. Інструктаж з БЖД. Практична робота №3. Статистичний аналіз даних. Кореляційний аналіз даних.
- П32. Візуалізація рядів і трендів даних. Вибір типу діаграми
- П33. Інфографіка
- П34. Інтерактивні візуалізації даних
- П35. Інструктаж з БЖД. Практична робота №4. “Інтерактивні візуалізації даних”
- П36. Розв’язування задач з різних предметних галузей .
- П37. Табличний процесор як засіб для фінансових розрахунків.
- П38. Електронна таблиця як засіб подання відомостей про однотипні об’єкти. Операції з однотабличною базою даних.
- П39. Інструктаж з БЖД. Практична робота №5. Операції з однотабличною базою даних
- П40. Створення та редагування зведених таблиць
- П41. Виконання індивідуальних та групових проектів
-
Електронні публікації
- П42. Багатосторінкові текстові документи. Налаштування параметрів сторінок. Розділи документа
- П43. Правила стильового оформлення документів різних типів
- П44. Колонтитули
- П45. Схема документа
- П46. Налаштування параметрів сторінок та колонтитулів, для різних частин документа.
- П47. Інструктаж з БЖД. Практична робота №6. Створення структури документу. Автоматичне створення та опрацювання змісту.
- П48. Основи композиції і архітектоніки багатосторінкового видання
- П49. Використання полів злиття
- П50. Інструктаж з БЖД. Практична робота №7. Створення розсилок у текстовому процесорі.
- П51. Комп’ютерні публікації. Створення публікації на основі шаблону.
- П52. Буклет. Призначення. Принципи композиції. Види буклетів
- П53. Видавничі системи.
- П54. Електронні книги
- П55. Створення навчального проекту
- П56. Комп’ютерна верстка. Програми для комп’ютерної верстки.
- П57. Інструктаж з БЖД. Практична робота №8. Комп’ютерні публікації.
- П58-59. Практикум з використання інформаційних технологій.
-
Структура і способи виконання проектів мовою Python
- П61. Повторення. Мова програмування. Класифікація та складові мов програмування. Особливості середовища розробки.
- П62. Структура програмного проекту. Правила написання читабельного коду. Коментарі у тексті програми. Виконання програмного коду в інтерактивному режимі.
- П63. Практикум з використання інформаційних технологій
- П64. Практикум з використання інформаційних технологій
- П65. Виконання файлів програмного коду Інструктаж з БЖД. Практична робота №9. Створення, збереження, запуск проекту за заданим зразком
- П66. Основні елементи мови програмування Python. Поняття про перетворення типів даних. Змінні.
- П67. Бібліотеки мови програмування. Оператори і вирази. Логічні вирази. Таблиці істинності.
- П68. Модулі, функції і методи для опрацювання числових даних.
- П69. Інструктаж з БЖД. Практична робота №10. Побудова лінійних алгоритмів та їх реалізація у вигляді програм (проєктів)
- П70. Умовний оператор мовою програмування. Повна та скорочена форма оператора розгалуження
- П71. Послідовні та вкладені розгалуження
- П72. Оператори циклу
- П73. Порівняння операторів циклу
- П74. Поєднання повторення і розгалуження
- П75. Поняття рекурсії. Рекурентні послідовності. Вкладені цикли
- П76. Інструктаж з БЖД. Практична робота №11. Побудова алгоритмів з розгалуженнями та повтореннями, їх реалізація у вигляді програм (проєктів)
- П77. Виконання індивідуальних та колективних проектів
-
Вбудовані типи даних та їх опрацювання
- П75. Прості та структуровані типи. Поняття структур даних та їх класифікація. Лінійні структури даних. Списки.
- П76. Способи реалізації структур даних. Стек і черга. Багатовимірні списки
- П77. Кортежі, діапазони, множини
- П78. Інструктаж з БЖД. Практична робота №12. Робота з лінійними структурами даних у Python
- П80. Одновимірні масиви
- П81. Двовимірні масиви
- П82. Вказівники
- П83. Розв’язування практичних завдань з використанням різних структур даних
- П84. Інструктаж з БЖД. Практична робота №13. Алгоритми для роботи з масивами
-
Функції користувача і модулі мови Python
-
Класи, об’єкти, наслідування
-
Поліформізм, перевизначення методів, модулі користувача
-
Основи графічного інтерфейсу користувача
- П99. Елементи об’єктно-орієнтованого програмування. Основи графічного інтерфейсу користувача
- П100. Графічні об’єкти і їх властивості
- П101. Основні графічні об’єкти
- П102. Створення проєктів з використанням основних графічних об’єктів
- П103. Створення проєктів з використанням основних графічних об’єктів
- П104. Додаткові графічні об’єкти
- П106. Інструктаж з БЖД. Практична робота №17. Розробка програми з графічним інтерфейсом
- П107. Опрацювання подій
- П108. Меню
- П109. Діалогові вікна
- П110. Інструктаж з БЖД. Практична робота №18. Проектування об’єктної взаємодії
- П111. Графічні примітиви об’єкта Canvas
- П112. Створення проєктів з використанням основних графічних примітивів
0.00 на основі 0 рейтингів