我试图在Pycharm中逐步完成一些Python代码
checkdata = cache.get_doc_store().get_all_documents(doc_type='test'})
然而,我似乎无法让Pycharm进入这个特定的功能。如果我在表达式求值程序中运行它,代码就会执行并得到一个返回值,但是如果我尝试在标准调试器中运行它,那么Pycharm就不会进入该函数而我不会得到一个回报价值。有没有人见过这个?
答案 0 :(得分:2)
所以这个实际上与生成器功能有关。我得到的返回值是generator
,我对列表生成器[x for x in func_call]
感到困惑。当我们“调用”函数时,我们只返回一个生成器,但是在我们调用next()
,send()
等之前,函数体中的代码才会被执行。这就是我们无法执行的原因进入Pycharm。这篇博文更详细地解释了生成器https://jeffknupp.com/blog/2013/04/07/improve-your-python-yield-and-generators-explained/