Python 3.5 with
文の中で呼び出し可能な呼び出しができない理由や理由はありますか?ブロックされたPython内で呼び出し可能な呼び出し可能なのはなぜですか?
class Seriously(object):
def __init__(self, name):
self.name = name
def __enter__(self):
print("Enter " + self.name)
def __call__(self):
print("Call " + self.name)
def __exit__(self, type, value, traceback):
print("Exit " + self.name)
a = Seriously('a')
a.__enter__()
a()
a.__enter__()
with Seriously('b') as b:
b()
は真剣
Enter a
Call a
Enter a
Enter b
Exit b
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-6-91a5d11e1b2e> in <module>()
18
19 with Seriously('b') as b:
---> 20 b()
TypeError: 'NoneType' object is not callable
私はPEP 343で何をしないのですが生成しますか?
__call__の最後に 'return self'でした。一度受け入れることができます、ありがとうございます。 –