我需要一种Python式的方法来让它工作
def generator():
i=0
yield(i)
print(i)
for i in generator():
i=2
##should print 2
如何修改提供的 Python 代码以确保在迭代生成器时打印
2
而不是 1
?我需要一种更Pythonic的方法来满足此要求,因为我有特定的约束,涉及确保基于更改的值将对象放置在正确的数据库中,这些更改既高效(因为我的数据库将相关对象存储在彼此附近)又难以修改外面。
.
i
内的geenrator
创建一个新的局部变量。您需要使用 global
: 来引用全局的
def generator():
global i=0
yield(i)
print(i)