gpt4 book ai didi

python - 为什么 print ("text {}".format(yield i)) 是无效的语法,而 print ("text {}".format((yield i))) 是有效的?

转载 作者:行者123 更新时间:2023-12-04 03:57:08 25 4
gpt4 key购买 nike

<分区>

我正在浏览 this关于 generator send 的问题当我遇到这段代码时的功能

def coroutine():
for i in range(1, 10):
print("From generator {}".format((yield i)))
c = coroutine()
c.send(None)
try:
while True:
print("From user {}".format(c.send(1)))
except StopIteration: pass

如您所见,作者在yield i 周围使用了大括号;我不明白为什么需要它。

doc for str.format() 没有提及 format() 的参数是任何类型。我确信我的困惑是由于我不知道 yield 语句的作用或调用它时生成或生成的类型。

你能帮我理解为什么在 str.format 函数调用中的 yield 周围需要大括号吗?

编译器不是很有帮助所以我不得不问这个问题

In [1]: def coroutine():
...: for i in range(1, 10):
...: print("From generator {}".format(yield i))
...: c = coroutine()
...: c.send(None)
...: try:
...: while True:
...: print("From user {}".format(c.send(1)))
...: except StopIteration: pass
File "<ipython-input-1-024981190f27>", line 3
print("From generator {}".format(yield i))
^
SyntaxError: invalid syntax

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com