私はPythonを学んでいて、with **** as ****:
ステートメントを試しています。C# と同じように機能すると思いusing(****) {
ますが、古い例に従っているのではないかと思います。
これは私のコードです:
# -*- coding: iso-8859-1 -*-
import pprint
pow = 1, 2, 3
with pprint.pprint as pprint:
pprint(pow)
ここで起こっていることは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"
)
コードが期待どおりに機能しないのはなぜですか?