Что делает Python 3. 2 «with / as» do

Я изучаю Python и пробую оператор with **** as ****: . Я полагаю, он работает так же, как C # с использованием (****) {, но боюсь, что следую устаревшим примерам.

Это мой код:

# -*- coding: iso-8859-1 -*-

import pprint

pow = 1, 2, 3

with pprint.pprint as pprint:
    pprint(pow)

Я предполагаю, что здесь происходит is pprint в моем небольшом закрытии - это псевдоним для функции pprint.pprint . Я получаю странную ошибку:

Traceback (most recent call last):
  File "test.py", line 7, in <module>
    with pprint.pprint as pprint:
AttributeError: __exit__

Итак, теперь я думаю, что использую синтаксис из более старой версии Python, как и раньше ( print "Hello" )

Почему не ' t мой код работает должным образом?

7
задан Hubro 11 November 2014 в 15:50
поделиться