如何使变量只能在其自己的方法中访问

2024-09-27 00:17:44 发布

您现在位置:Python中文网/ 问答频道 /正文

关于局部和全局范围的主题,我仍然有一点混淆,我想创建一个在未完成时运行的方法

但是我在其他方法中也使用了这个,所以我不能让它只是全局的

有人建议我如何使这个方法工作,而不使它全球化吗

代码如下:

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

Tags: 方法主题局部location全局destination建议agent
1条回答
网友
1楼 · 发布于 2024-09-27 00:17:44

您似乎错过了类的一个要点,即封装。您可以将值作为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

相关问题 更多 >

    热门问题