0

我认为我可以从函数中更新在 Python 脚本顶部声明的变量,但事实并非如此。我设法做到这一点global

count = 0

def updateCount():
    global count
    print count
    count = (count+1)%10

for x in xrange(10):
    updateCount()

这是处理此问题的最佳方法(在更高级别更新变量的函数)吗?处理这个问题的“pythonic”方式是什么。全球似乎有点松散。

另外,请让我知道这是否已经得到解答,我将关闭问题。我一直在阅读已经在该问题附近发布的很多答案,但并不完全存在。

4

1 回答 1

1

存在多种解决方案,具体取决于您想要实现的目标。

在对您的问题的评论中已经提到了一些:

  • 创建一个类。updateCount是方法,count是属性
  • updateCount从而不是使用全局返回值count

你也可以使用

  • 闭包
  • 发电机

恕我直言,最“pytohnic”(读作“酷”)的方式可能是使用生成器,这是一个例子

def updateCount(x):
    count = 0
    for i in xrange(x):
        count = (count+1) % 10
        yield count

for i in updateCount(15):
    print i
于 2013-09-13T06:41:37.850 回答