class PrettyPrint:

    def __str__(self):
        if len(self.__dict__):
            st = f"{self.__class__.__name__}("
            for key, value in self.__dict__.items():
                st += f'{key}={value}, '
            return st[:len(st)-2] + ')'
        else:
            return f"{self.__class__.__name__}()"
     

class Empty(PrettyPrint):
    pass

class Person(PrettyPrint):

    def __init__(self, first_name, last_name, age):
        self.first_name = first_name
        self.last_name = last_name
        self.age = age

    # def __str__(self):
    #     return f"__str__ class Person"


    

def main():

    empty = Empty()
    print(empty)

    # artem = Person('Artem', 'Egorov', 33)
    # ivan = Person('Ivan', 'Ivanov', 45)
    # print(artem)
    # # print(ivan)

if __name__ == '__main__':
    main()