Простий об'єкт tama з назвою класу Tamagoci, для котрого визначено єдину функцію (метод) talk.
class Tamagoci(object):
## Віртуальна тваринка
    def talk(self):
        print("Hello, I am Tamagochi")
tama=Tamagoci()
tama.talk()

Клас створюється на основі вбудованого типу object або на основі іншого класу.
Прийнято у наступному після назви рядку описати клас у коментарі.
Метод класу завжди має принаймні один параметр - self.

Ініціалізація об'єкту

Існує спеціальний метод, що позначає створення об'єкта - init. Оскільки це стандартний метод, він вирізняється двійним підкресленням перед та після init.

class Tamagoci(object):
## Віртуальна тваринка
    def __init__(self, name):
        self.name=name

        print("A new animal is born!")
    def talk(self):
        print("Hello, I am Tamagochi", self.name)

tama=Tamagoci("Bobik")
tama.talk()
tama2=Tamagoci("Murzik")
tama2.talk()

Створено 2 об'єкти, з різними атрибутами name

Ще один стандартний метод - виведення на екран
 def __str__(self):
        re="Object: " + self.name
        return(re)

Атрибути класу

Клас може мати власні атрибути, наприклад, кількість об'єктів класу, створених у проекті
total=0
При створенні нового об'єкту до цієї змінної додаємо 1:
def __init__(self, name):
        self.name=name
        print("A new animal is born!")
        Tamagoci.total += 1

Розглянемо проект гри, що передбачає створення тваринки-тамагочі, з початковим рівнем голоду та нудьги =0. З плином часу тваринку потрібно годувати та розважати.
Приклад початку гри:
A new animal is born!
Hello, I am Tamagochi Bobik I feel great
What would you like to do?
             0 - exit
             1 - check
             2 - eat
             3 - play
Enter the number

Задача 1. Ініціалізація об'єкта

Задача 2. Метод "пройшов час" - зростає голод та нудьга

Задача 3. Метод годування

Задача 4. Метод розважання

Задача 5. Метод доступу до властивості

Задача 6. Метод сповіщення про себе

Задача 7. Створення об'єкта

Задача 8. Ігрова логіка

Остання зміна: Понеділок 11 березня 2019 07:01 AM