37,743
社区成员




def psychologist():
print('Please tell me your problems')
while True:
answer = yield
if answer is not None:
if answer.endswith('?'):
print('Don\'t ask yourself too much questions...')
elif 'good' in answer:
print('That\'t good. Go on.')
elif 'bad' in answer:
print('Be positive. Believe in yourself.')
else:
print('Fuck you. What are you talking about!')
>>> def echo(value=None):
... print("Execution starts when 'next()' is called for the first time.")
... try:
... while True:
... try:
... value = (yield value)
... except Exception as e:
... value = e
... finally:
... print("Don't forget to clean up when 'close()' is called.")
...
>>> generator = echo(1)
>>> print(next(generator))
Execution starts when 'next()' is called for the first time.
1
>>> print(next(generator))
None
>>> print(generator.send(2))
2
>>> generator.throw(TypeError, "spam")
TypeError('spam',)
>>> generator.close()
Don't forget to clean up when 'close()' is called.