Розробка уроку

Тема: поняття об'єкта у мові програмування, його властивостей і методів. Створення програми, її виконання та налагодження мовою Python.

Мета: сформувати визначення об'єкта у мові програмування, ознайомити учнів з його властивостями та методами, навчити створювати програми мовою Python.

По завершенню вивчення учень:

Обладнання: ПК із встановленим ОС і середовищем програмування мовою Python або стійким сполученням з Інтернетом для роботи з середовищем програмування мовою Python у режимі online.

Структура уроку

  1. Організаційний момент.
  2. Актуалізація опорних знань.
  3. Вивчення нового матеріалу.
  4. Інструктаж з ТБ.
  5. Закріплення вивченого матеріалу.
  6. Підбиття підсумків уроку.
  7. Домашнє завдання.

Хід уроку

1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.

Мотивація навчання: на цьому уроці ви ознайомитеся з основами об'єктно-орієнтованого програмування (ООП) мовою Python. Ви дізнаєтеся про принципи ООП і навчитеся писати простенькі програми мовою Python.

Найчастіше об'єкти, що створюються за допомогою ООП, відображають реальні предмети. Наприклад, при створенні форуму сайту доречно мати клас Member для збереження даних про кожного учасника форуму (ім'я, обліковий запис, електронна адреса, пароль тощо). Для цього класу потрібно означити (описати) методи опрацювання даних: реєстрація, авторизація, вихід із системи тощо.

2. Актуалізація опорних знань

Завдання. Назвати поняття, виділені жирним шрифтом, і порівняти з поданим описом у тексті щодо об'єктно-орієнтованого програмування (ООП).

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

Переваги й недоліки Python

Області застосування Python

Це означає, що Python забезпечує щонайменше таке:

Використання мови Python практично нічим не обмежене, тому її також можна використовувати у великих проектах. У тому числі гігантів Google і Yandex. Саме простота й універсальність Python роблять цю мову однією з кращих мов програмування.

3. Вивчення нового матеріалу

Python відповідає усім принципам об'єктно-орієнтованого програмування (ООП). Це корисно при довгостроковій розробці програми декількома людьми, бо ыстотно полегшує розуміння коду. У Python все є об'єктами — і рядки, і списки, і словники, і все інше. Програміст може описати свій тип даних (клас), визначити в ньому свої методи. Хоча це не є обов'язковим: можна користуватися (лише) вбудованими об'єктами.

Створення об'єкта здійснюють таким чином:

назва_змінної = назва_класу()

Тут дужки обов'язкові! Після такої вказівки буде створено об'єкт, доступ до якого можна отримати за назвою змінної, пов'язаної з ним. При створенні об'єкт отримує властивості свого класу.

Кількість об'єктів, які можна створити на основі того чи іншого класу, не обмежено.

Об'єкти одного класу мають той самий набір властивостей (змінних, параметрів, атрибутів), а от їхні значення можуть бути різними. Інакше кажучи, об'єкти одного класу схожі в описі, але їх можна розрізнити.

Приклад створення й використання порожнього класу

class A:     # Опис порожнього класу А
  pass
a = A()      # Створення представника класу А
b = A()      # Створення представника класу А
a.arg = "A"  # Створення властивості arg об'єкта а і надання їй значення
print(a.arg) # Виведення значення властивості arg представника а

У результаті виконання цього коду буде виведено символ "A". Якщо останній оператор замінити на такий:

print(b.arg)

отримаємо повідомлення:

'A' object has no attribute 'arg'

Методи класу — це програми, подані в описі класу. Методу необхідно повідомити, дані якого об'єкта потрібно буде опрацьовувати. Для цього методу в якості першого (а іноді єдиного) аргументу передають назву змінної, пов'язаної з об'єктом (можна казати, передають сам об'єкт). Щоб в описі класу вказати використання своїх властивостей чи методів, використовують службове слово self.

Зверення до властивості чи методу конкретного об'єкта в основному блоці програми мають такий вигляд:

назва_об'єкта.назва_властивості
назва_об'єкта.назва_методу


Приклад опису методу

class A:
  def g(self):
    return "Вітаю!"
a=A()
print(a.g())

виводить рядок: "Вітаю!" Тут self — обов'язковий аргумент, що вказує на того представника класу, для якого застосовують методу. У наступному прикладі є зміна значення властивості (змінної, атрибуту, параметра) між застосуванням методу.

class B:
  arg = '1'
  def g(self):
    return self.arg
b = B()
print(b.g())
b.arg = '2'
print(b.g())

Цей код виведе два рядки:

1
2

Розглянемо приклад визначення прямокутника — його властивостей та дій, які можна виконувати з ним. Важливо усвідомити — опис об'єкта не означає створення об'єкта чи виконання дій з ним. У поданому далі прикладі прямокутник має ширину x, довжину y. На основі цих даних можна обчислити його площу s й периметр p.

class Rectangle:
  def __init__(self, x, y):
    self.x = x
    self.y = y
  def s(self):                # Обчислення площі
    return self.x * self.y
  def p(self):                # Обчислення периметру
    return 2*(self.x + self.y)
  def describe(self, text):   # Опис прямокутника
    self.description = text
  def scaleSize(self, scale): # Пропорційна зміна сторін
    self.x = self.x * scale
    self.y = self.y * scale
r = Rectangle(60, 35)  # Створення представника r класу Rectangle
print (r.s())          # Обчислення й веведення значення площі
print (r.p())          # Обчислення й веведення значення периметра
r.scaleSize(0.5)       # Зменшення розмірів удвічі
print (r.s())          # Обчислення й веведення значення площі зменшеного прямокутника
print (r.p())          # Обчислення й веведення значення периметра зменшеного прямокутника

У поданому вище прикладі:

Виконання програми призводить до виведення таких чисел.

2100
190
525.0
95.0

Немає обмежень у кількості представників класу — створити їх можна скільки завгодно. Наприклад, вставити такі рядки у код програми після опису класу Rectangle:

r_long  = Rectangle(120, 10)
r_short = Rectangle( 30, 10)

Створені таким чином довгий і короткий прямокутники матимуть свої власні набори функцій та змінних всередині, повністю незалежні один від одного.

4. Інструктаж з ТБ
5. Закріплення вивченого матеріалу


Завдання 1. Написати програму, у якій (у вказаному порядку):

Записати програму у файл з назвою Ваше_прізвище_1.py у вказану вчителем теку. Порівняти з демостраційним розв'язанням.

Завдання 2. Написати програму, у якій (у вказаному порядку):

Записати програму у файл з назвою Ваше_прізвище_2.py у вказану вчителем теку. Порівняти з демостраційним розв'язанням.

6. Підбиття підсумків уроку
Виставлення оцінок.

7. Домашнє завдання
До коду в першому завданні додати опис ще однієї властивості та ще одного методу, що дозволить її змінювати. Створити третій об'єкт і змінити всі його властивості.


Текст упорядкувала Ірина Валеріївна Перова, учитель спеціалізованої школи № 329 «Логос» Дарницького району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 16.01.2017 по 20.01.2017.