我仍然对本地和全球范围的主题有一点混淆,我想制作一个未完成的方法。
但是我也在其他方法中使用它,所以我不能让它成为全球性的。
任何人都有建议如何让这个方法有效,而不是让它全局化?
这是代码:
def makeNavPlan(self, agent_location, destination=(0,0)):
deltaX = agent_location[0] - destination[0]
deltaY = agent_location[1] - destination[1]
global navPlan
navPlan = []
done = False
while not done:
if(deltaX > 0):
navPlan.append("Left")
deltaX -= 1
elif(deltaY > 0):
navPlan.append("Up")
deltaY -= 1
else:
done = True
print navPlan
return navPlan
答案 0 :(得分:0)
你似乎错过了一个主要的课程要点,即封装。您可以在self
上将值指定为实例属性,并且它们将在任何方法中提供。
self.navPlan = []
self.done = False
while not self.done:
if(deltaX > 0):
self.navPlan.append("Left")
deltaX -= 1
elif(deltaY > 0):
self.navPlan.append("Up")
deltaY -= 1
else:
self.done = True