如何仅在自己的方法中使变量可访问

时间:2015-10-17 11:22:35

标签: python variables

我仍然对本地和全球范围的主题有一点混淆,我想制作一个未完成的方法。

但是我也在其他方法中使用它,所以我不能让它成为全球性的。

任何人都有建议如何让这个方法有效,而不是让它全局化?

这是代码:

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

1 个答案:

答案 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