我认为我可以在函数内更新Python脚本顶部声明的变量,但事实并非如此。我设法使用global
执行此操作:
count = 0
def updateCount():
global count
print count
count = (count+1)%10
for x in xrange(10):
updateCount()
这是处理此问题的最佳方法(在更高级别更新变量的函数)吗? 什么是'pythonic'处理这个问题的方法。全球似乎有点松散。
另外,如果已经回答,请告诉我,我会结束这个问题。我已经阅读了很多已经贴在这个问题上的答案,但还没有完全找到答案。
答案 0 :(得分: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