2013-08-15 2 views
1

변수를 가져 오거나 다른 Python 모듈에서 전역 변수로 가져 오는 방법을 읽었지만 내 경우는 좀 더 복잡하다고 생각합니다. 나는 또한 후속 Python 함수에서 변수 이동하기

가져 오기 설정

을 시도하지만 그것은 바로

가 나는 jerarchy이 프로그램 된 일련의 기능을 가지고 (각 기능은 아래와 호출 얻을 관리하지 않았고 곧). 지금까지 나는 return 문을 통해 원하는 변수를 검색 할 수 있었지만 모든 것이 커지면서 매우 더럽고 오래갑니다. 모든 상위 레벨에 액세스 할 수있는 함수 중 하나에서 만든 변수를 어떻게 설정할 수 있습니까? 그래서 내가 가진 : 레벨 1)

def t2m(...): 
    ... 
    L=np.array(l1) 
    ret=[...,L,...] 
    return ret 

레벨 2)

ret=twm(...) 
L=ret[3] #3 is an example 

def dc(...,L,...): 
    ... 
    # L is not even used in this level 
    ... 
    ret=[...,...,L,...] 
    return ret 

레벨 3)

ret=dc(...) 
L=ret[n] 
for j in L: 
    ... 

그래서 꽤 많이 나는 많은 L' s와 더 많은 레벨 그래서 그것은 끔찍해지고있어. 이자형. 어떻게 든 L을 만들 때 어디에서나 액세스 할 수 있습니까?

감사합니다.

+1

일반적으로 함수를 사용하여 (하위) 작업을 위임합니다. 'top'함수의 호출자가 다른 함수의 출력을 필요로한다면 더 이상 위임하지 않으며, 최상위 코드는 아마도 대신 * 직접 * 함수를 호출해야합니다. –

답변

0
  1. 재구성하여 사용하면 객체이 최대
  2. 패키지를 중첩 호출의 한 수준이되도록 코드 및 상점은 self에 값을 공유했습니다.
+0

답변 해 주셔서 감사합니다. 나는이 일을하고 있지만 자신이 의미하는 바를 알아낼 수 없다. – jacandau

+0

@ user2685953 파이썬 수업을 본 적이 있습니까? 메소드의 첫 번째 매개 변수에 대한 표준 이름은'self'입니다. – Marcin

관련 문제