Ответы пользователя по тегу ООП
  • Как получить изначальное значение аттрибута?

    @programmeraxel
    Например так если health динамический и значение хочется получать из экземпляра.

    class SomeClass:
        def __init__(self, health=20):
            self._health = health
            self._init_health = self._health
    
        @property
        def health(self):
            return self._health
    
        @health.setter
        def health(self, value):
            self._health = value
    
        @property
        def init_health(self):
            return self._init_health


    Либо так
    class SomeClass:
        def __init__(self, health=20):
            self._health = health
    
    import inspect
    inspect.getargspec(SomeClass.__init__)

    ArgSpec(args=['self', 'health'], varargs=None, keywords=None, defaults=(20,))


    Но это не будет работать при хардкорном объявлении переменной как тут.

    self.health = 15
    Ответ написан
    2 комментария