2015-12-02 148 views
0

例如說,我得到了代碼:如何從函數調用一個數組列表到另一個函數?

def getRoute(getRouteFile): 
    getRoutePath = [] 
    routeFile = open(getRouteFile, "r") 
    for routes in routeFile: 
     getRoutePath.append(map(ord, routes.split('>'))) 
    return getRoutePath 

如果我做了功能,如它會嘗試從調用的函數調用getRoutePath數組中的項目:

def routeCalculation(getRoute,nodeTable, currentNode): 

我如何叫它?我試圖做這些:

def routeCalculation(getRoute,nodeTable, currentNode): 
    route = getRoutePath 

def routeCalculation(getRoute,nodeTable, currentNode): 
    route = getRoute[getRouthPath] 

而且都沒有工作。誰能幫我?

+3

您無法從'getRoute'外部看到'getRoutePath',因爲它是本地函數。然而,由於'getRoute'返回'getRoutePath',爲什麼不能直接調用'getRoute'呢?無論聽起來你需要一個教程,而不是StackOverflow –

回答

0

每當你在一個函數中聲明一個變量時,當你退出該函數時,該變量就會被銷燬。例如:

a = "" 
def function(): 
    a = "hello" 
    b = "hello" 

print(a) #prints "hello" because a was declared outside of the function 
print(b) #does not print anything 

這就是所謂的「範圍」,如果你有了解它的一個問題,你應該尋找一個教程吧。爲了解決您的問題,請將代碼getRoutePath = []移到您的功能之外。

相關問題