@anton_zaboev

Откуда берется None при выводе 2 экземпляров класса?

Всем доброго дня! При выводе 2 объектов в консоль выводится None. Ошибок ни каких нет. None появляется сразу после print,
Это похоже на ящик размером 50x30 и весом 2кг
None
В ящике размером 50x30 и весом 2кг оказалось 7 золотых монет
None

Вот код
class Box:

    def __init__(self, size, weight, contains):
        self.size = size
        self.weight = weight
        self.contains = contains

    def observe(self):
        print(f'Это похоже на ящик размером {self.size} и весом {self.weight}кг')


class Container(Box):

    def open(self):
        print(f'В ящике размером {self.size} и весом {self.weight}кг оказалось {self.contains}')


box_1 = Box('30x30', 1, '15 золотых монет')

container_1 = Container('50x30', 2, '7 золотых монет')

# Код проверки, не удаляйте его

try:
    Box
except:
    print("Класс Box не задан")
try:
    Container
except:
    print("Класс Container не задан")
try:
    Container.open
except:
    print("Метод open у Container не задан или с ошибкой")
try:
    Container.observe
except:
    print("Метод observe у Container не наследуется или с ошибкой")
try:
    box_1
except:
    print("Экземпляр box_1 не существует")
try:
    container_1
except:
    print("Экземпляр container_1 не существует")

print(container_1.observe())
print(container_1.open())

Подскажите пожалуйста откуда берется None при выводе
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Метод observe ничего не возвращает. Вы пытаетесь вывести это ничего, вот и получаете None.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы