pygame程序变量在赋值之前使用

时间:2013-11-16 07:06:35

标签: python pygame

当我阅读此页面上的节目时http://inventwithpython.com/pygame/chapter8.html

第139行

,变量sObj['movex']

sObj['movex']在分配之前使用,但是这个程序可以正常运行,为什么?

1 个答案:

答案 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}}构造& sObjfor分配了一个新变量所以程序不会因此而给出错误。

另请注意,sObj只是squirrels对象的另一个变量“名称”。因此,sObj只不过是在squirrels中迭代遍历每个对象(连续)的别名。