async
/ await
(语法和关键字)与C#中的async
/ await
非常相似。
C#示例:
async void asyncTask(){
await asyncMethod()
}
Python示例:
async def asyncTask():
await async_method()
问题:是否受到C#中async / await启发的python 3.5中的async / await?如果是,为什么?
答案 0 :(得分:5)
在PEP 492(添加await
和async
关键字的提案)中,C#使用它们mentioned(除了其他人):
为什么“async”和“等待”关键字
async / await不是编程语言中的新概念:
- C#拥有它很久以前[5];
- 建议在ECMAScript 7 [2]中添加async / await;另见Traceur项目[9];
- Facebook的Hack / HHVM [6];
- Google的Dart语言[7];
- Scala [8];
- 建议将async / await添加到C ++ [10];
- 和许多其他不那么流行的语言。
这是一个巨大的好处,因为一些用户已经具有异步/等待的经验,并且因为它使得在一个项目中使用多种语言更容易(例如,使用ECMAScript 7的Python)。
(强调我的)
因此,关键字名称确实受到C#(和其他语言)的启发,以及“为什么”也在上一段中进行了解释。