PYTHON Напишите класс Person со следующими компонентами: a) атрибуты fullName и age; б) методы move() и talk(), которые

  • 53
PYTHON Напишите класс Person со следующими компонентами:
a) атрибуты fullName и age;
б) методы move() и talk(), которые просто выводят сообщение "Такой-то Person говорит" в консоль;
в) реализуйте два конструктора - один без аргументов, другой с аргументами fullName и age. Создайте два экземпляра этого класса. Один экземпляр инициализируется конструктором без аргументов, второй - конструктором с аргументами fullName и age.
Kobra
7
Конечно! Вот решение вашей задачи:

python
class Person:
def __init__(self, fullName=None, age=None):
self.fullName = fullName
self.age = age

def move(self):
print(f"{self.fullName} движется")

def talk(self):
print(f"{self.fullName} говорит")


person1 = Person()
person1.move() # Вывод: None движется
person1.talk() # Вывод: None говорит

person2 = Person("Иван Иванов", 25)
person2.move() # Вывод: Иван Иванов движется
person2.talk() # Вывод: Иван Иванов говорит


В данном решении мы создаем класс `Person` с атрибутами `fullName` и `age`. Затем мы реализуем два метода: `move()` и `talk()`, которые просто выводят сообщение в консоль.

Кроме того, у нас есть два конструктора. Первый конструктор без аргументов не принимает никаких параметров и инициализирует атрибуты `fullName` и `age` значением `None`. Второй конструктор с аргументами `fullName` и `age` принимает их значения и инициализирует атрибуты экземпляра класса соответствующими значениями.

Затем мы создаем два экземпляра класса `Person`. Первый экземпляр `person1` инициализируется конструктором без аргументов, поэтому его атрибуты `fullName` и `age` имеют значение `None`. Второй экземпляр `person2` инициализируется конструктором с аргументами `fullName="Иван Иванов"` и `age=25`, поэтому его атрибуты `fullName` и `age` имеют соответствующие значения.

После создания экземпляров класса мы вызываем методы `move()` и `talk()` для каждого экземпляра, чтобы убедиться, что все работает правильно.

Надеюсь, это поможет вам понять, как решить задачу! Если у вас есть еще вопросы, не стесняйтесь задавать.