Форум сайта python.su
Добрый день(или ночь))
Возник вопрос следующего характера.
Перехватить обращение к несуществующему атрибуту функции самой функцией?
т.е. чтобы сама ф-ия test перехватила и вывела “мол извините нет такого атрибута”.
def test():
test.a=123
return test
print test().fgh
в данном случае выскочит ошибка AttributeError: ‘function’ object has no attribute ‘fgh’
Пытался перехватывать встроенной функцией __getattribute__, но что то у меня он вообще не срабатывал(
Никто не сталкивался?
Отредактировано (Ноя. 22, 2011 23:20:39)
Офлайн
def test():
class xxx(object):
def __getattribute__(self, attr):
return attr
return xxx()
print test().fgh
Офлайн
o7412369815963Спасибо большое. А не знаете без использования классов внутри функции никак?def test():
class xxx(object):
def __getattribute__(self, attr):
return attr
return xxx()
print test().fgh
Офлайн