马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
大家好!
在B站看到了46讲-闭包函数。有一些不懂的地方,来这里请教大家。我的问题是,代码中的direction为什么没有进行定义就可以使用?谢谢!
代码如下:origin = (0, 0) #这个是原点
legal_x = [-100, 100] #限定X轴的移动范围
legal_y = [-100, 100] #限定Y轴的移动范围
def creat(pos_x=0, pos_y=0):
def moving(direction, step):
nonlocal pos_x, pos_y
new_x = pos_x + direction[0]*step
new_y = pos_y + direction[1]*step
if new_x < legal_x[0]:
pos_x = legal_x[0] - (new_x - legal_x[0])
elif new_x > legal_x[1]:
pos_x = legal_x[1] - (new_x - legal_x[1])
else:
pos_x = new_x
if new_y < legal_y[0]:
pos_y = legal_y[0] - (new_y - legal_y[0])
elif new_y > legal_y[1]:
pos_y = legal_y[1] - (new_y - legal_y[1])
else:
pos_y = new_y
return pos_x, pos_y
return moving
代码中的direction为什么没有进行定义就可以使用?
direction 是参数,实参传递给形参的过程就相当于变量赋值的过程哦(所以是在这个过程进行了定义)~
|