当我阅读此页面上的节目时http://inventwithpython.com/pygame/chapter8.html
第139行,变量sObj['movex']
sObj['movex']
在分配之前使用,但是这个程序可以正常运行,为什么?
答案 0 :(得分:0)
查看代码摘录
# move all the squirrels
for sObj in squirrelObjs:
# move the squirrel, and adjust for their bounce
sObj['x'] += sObj['movex']
sObj['y'] += sObj['movey']
请注意,您实际上是在定义&在sObj
循环开始时分配变量for
!根据{{1}}构造& sObj
为for
分配了一个新变量所以程序不会因此而给出错误。
另请注意,sObj
只是squirrels
中对象的另一个变量“名称”。因此,sObj
只不过是在squirrels
中迭代遍历每个对象(连续)的别名。