如何使用await表达式?

bal*_*lki 15 python python-3.x async-await python-3.5

无法弄清楚如何从python 3.5-rc2使用await

>>> async def foo():
...     pass
... 
>>> await foo()
  File "<ipython-input-10-a18cb57f9337>", line 1
    await foo()
            ^
SyntaxError: invalid syntax

>>> c = foo()
>>> await c
  File "<ipython-input-12-cfb6bb0723be>", line 1
    await c
          ^
SyntaxError: invalid syntax

>>> import sys
>>> sys.version
'3.5.0rc2 (default, Aug 26 2015, 21:54:21) \n[GCC 5.2.0]'
>>> del c
RuntimeWarning: coroutine 'foo' was never awaited
>>> 
Run Code Online (Sandbox Code Playgroud)

Rai*_*ide 16

根据文档,await只能在协同程序功能中使用.所以使用它的正确语法应该是

async def foo():
    pass

async def bar():
    await foo()
Run Code Online (Sandbox Code Playgroud)


小智 7

就像在 C# 中一样,await只能在async方法(函数)中使用。