我有如下代码:
def foo(word, i):
if i >= len(word):
return
yield from foo(word, i+1)
yield word[i]
for j in foo("intro", 0): print(j, end = "")
这段代码打印了ortni
。编译器调试无法帮助我,也不确定它是如何工作的。我尝试阅读关于yield from
和yield
的说明,但是不理解它们在这个示例中的作用。
以上代码如何打印出反向的字符"ortni"?它是如何工作的?
yield from x
相当于for item in x: yield item
- 这个解释有帮助吗? - alaniintro
,先倒序打印ntro
,然后再打印i
。为了倒序打印ntro
,先倒序打印tro
,然后再打印n
。以此类推... - alani