похоже, что я ничего не понимаю с помощью инструкции python with
.
Рассмотрим этот класс:
class test(object):
def __enter__(self): pass
def __exit__(self, *ignored): pass
теперь, когда он используется с with
, как в
with test() as michael:
print repr(michael)
Я бы ожидал, что какой-то вывод будет похож на экземпляр test в memore blah > . Но я получаю None.
Что-то здесь не так? Любые предложения помогут.
(Я использую Python 2.6.6.)
EDIT:
Благодаря
ephement для указания на документацию. Метод __enter__
должен читать
def __enter__(self): return self