2016-10-16 1 views
0

나는 두 파이썬 파일 first.py 가지고 second.py이python에서 다른 프로그램의 main 함수 내부에서 변수를 호출하는 방법은 무엇입니까?

import first 
def main(): 
    b=getattr(first, first_variable) 
    #computation 

처럼 보이지만 없음 속성 오류가 발생하지 오전

def main(): 
    #some computation 
    first_variable=computation_result 

처럼 second.py

first.py 보인다. second.py를 통해 first.py의 main() 메소드 내부에서 변수에 액세스 할 수 있습니까?

답변

3

대신이 함수 호출과 반환 값을 사용해야합니다.

첫 번째 파일의 함수에서 comput_result를 반환하고 두 번째 파일의 b 변수에 결과를 저장합니다.

first.py

def main(): 
    # computation 
    return computation_result 

second.py

import first 
def main(): 
    b = first.main() 

다른 옵션은 값을 저장하고 나중에 참조합니다 첫 번째 파일에서 전역 변수를 사용하는 것입니다.

1

튜토리얼의 9.1 and 9.2과 언어 참조의 Naming and Binding을 읽고 싶을 것입니다.

예제에서 first_variable만 존재합니다.first.main() 범위 내 - 실행 중입니다. 해당 범위를 벗어나는 항목에는 액세스 할 수 없습니다.


당신은 first의 전역으로 first_variable를 얻을 필요 - 다음 second 당신이 first.first_variable로 사용할 수 있습니다.

한 가지 방법은 first.main()에서 무엇인가를 반환하고 first_variable에 할당하는 것입니다.

def main(): 
    return 2 

first_variable = main() 

그런 second에 당신은 그것을 사용할 수 있습니다

import first 
times_3 = first.first_variable * 3 
관련 문제