# def d(num):
    
#     while num > 0 :
#         return num
#         num -= 1
# a = d(5)
# print(a)
# print(a)
# # print(next(a))


'''

Например:
У нас есть кофемашина. И мы хотим у пользователей была информация о том, что делает этот обьект, а не о том, как он это делает. Для этого в Python есть конценпция абстракции.


Абстракция скрывает реализацию и показывает только те функции, которые нам нужны.


Давайте рассмотрим кофемашины эспрессо как абстрактный класс, потому что мы не знаем, что происходит внутри и наш make_coffee - абстрактный метод, но для метода make_coffee (для приготовления кофе) каждый будет использовать разные ингредиенты, такие как Nescafé, Lavazza, кофе карибу и т. д.


Абстрактный класс - это класс, имеющий абстрактный метод. Абстрактный метод похож на любой другой метод, но он просто объявлен в этом классе без какого-либо тела. Например,
'''

def make_coffee():
    pass