Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 27, 2016 12:48:49

apdashi
Зарегистрирован: 2015-08-14
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Делаем AttributeError

Добрый день
Есть экземпляр класса A. В классе есть переменная one со значением любым

class A(object):
    def __init__(self):
        self.one = 1
a = A()
print a.one
a.one = 1

Надо что бы a.one = 1 выдало ошибку AttributeError( как я понимаю нужно заблокировать для записи эту переменную, но как не знаю)

Отредактировано apdashi (Фев. 27, 2016 12:49:12)

Офлайн

#2 Фев. 27, 2016 12:57:56

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Делаем AttributeError

Через property, или никак.

Офлайн

#3 Фев. 27, 2016 13:29:06

apdashi
Зарегистрирован: 2015-08-14
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Делаем AttributeError

Shaman
Через property, или никак.
Отчасти помогло)
class A(object):
    def __init__(self):
        pass 
    def _getter(self):
        pass
    isSecond = property(_getter)
a = A()
print a.one
a.one = 1
Но не совсем я понял, как дать ему первоначальное значение?

Офлайн

#4 Фев. 27, 2016 13:35:43

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Делаем AttributeError

class A(object):
    def __init__(self):
        self._one = 1
    @property
    def one(self):
        return self. _one
a = A()
print(a.one)
a.one = 1



Офлайн

#5 Фев. 27, 2016 13:43:09

apdashi
Зарегистрирован: 2015-08-14
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Делаем AttributeError

Все понял, все сделал) Всем спасибо)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version