|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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 是参数,实参传递给形参的过程就相当于变量赋值的过程哦(所以是在这个过程进行了定义)~
|
|