小编use*_*992的帖子

Lambda和Python中的多个语句

任何人都可以解释lambda的行为吗?

import sys
X = lambda: sys.stdout.write('first');sys.stdout.write("second")
X()
Run Code Online (Sandbox Code Playgroud)

返回: - > secondfirst

还有一个问题:

lambda: sys.stdout.write("...");sys.exit(0) 
Run Code Online (Sandbox Code Playgroud)

要么

lambda: sys.exit(0);sys.stdout.write("...")
Run Code Online (Sandbox Code Playgroud)

无法正确执行.还有一个问题,为什么在第一个引物执行流程从右到左?

试用:Python3 +(3.4,3.2)操作系统:Linux(Ubuntu),OSX

python lambda

6
推荐指数
3
解决办法
1万
查看次数

了解asyncio已经永远运行循环和待处理任务

我在理解如何将新任务挂起到已经运行的事件循环时遇到了问题.

这段代码:

import asyncio
import logging

@asyncio.coroutine
def blocking(cmd):
    while True:
        logging.info("in blocking coroutine")
        yield from asyncio.sleep(0.01)
        print("ping")

def main():
    logging.info("in main funciton")
    loop = asyncio.get_event_loop()
    logging.info("new loop created")
    logging.info("loop running forever")
    loop.run_forever()
    asyncio.async(blocking("ls"))

logging.basicConfig(level = logging.INFO)
main()
Run Code Online (Sandbox Code Playgroud)

更改run_forever()run_until_complete(asyncio.async(blocking("ls"))工作正常.但我真的很困惑 - 为什么我不能在已经运行的循环上执行任务?

python python-asyncio

6
推荐指数
1
解决办法
4439
查看次数

标签 统计

python ×2

lambda ×1

python-asyncio ×1