2017-10-23 3 views
1

나는 그들 모두 튜플을 포함, 다른 계산에 많은 기능을 포함하는 프로그램을 작성하기 위해 노력하고있어,에 의해 제어되는 주()어떻게 여러 함수를 연결하고 각각에서 여러 개의 튜플을 반환합니까?

기능이 기본적으로이 있습니다 :

def open_file() 
def read_file() 
def get_data() 
def calculate_info() 
def display_info() 

def main() 
    open_file() 
    read_file() 
    get_data() 
    calculate_info() 
    display_info() 

main() 

무엇 나를 혼란스럽게하는 것은 그들을 함께 묶는 방법이다. 예를 들어, read_file()에서 반환 된 read_file()에서 반환 할 내용을 얻기 위해 get_data()를 읽으려고합니다. 나는 다음 함수가 이전에 리턴 한 것을 사용하는지 확인한다. 이것과 관련하여 괄호 안에 무엇이 들어 있습니까?

+1

이 변수를 대입하고 돌아 오는 일에 관한 꽤 광범위 같은 하나의 변수로 함수에서 왔고, 나는 그것이 중복임을 확신합니다. – chasmani

+0

그래서 단일 인수에 단일 인수를 전달하고 거기에서 빌드하는 방법을 알아야합니다. http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/functions.html – acushner

+0

open_file(). read_file(). get_data()와 같은 의미입니까? ..'? – MotKohn

답변

2

당신은 파이썬

def open_file(*file): 
    return ("test", "test2") 

def read_file(*file): 
    return ("test", "test2") 

def get_data(data1, data2): 
    return ("test", "test2") 

def calculate_info(*data): 
    return (8, 10, 14) 

def display_info(*data): 
    print data 

def main() 
    (k,l) = open_file() 
    (m,n) = read_file(k,l) 
    (o,p) = get_data(m,n) 
    (q,r,s) = calculate_info(o,p) 
    display_info(q,r,s) 

main() 

당신은 파이썬에서 매개 변수로 튜플을 지정하려면 * 연산자를 사용 튜플을 처리하기 위해이 같은 것을 사용할 수 있습니다. 튜플을 반환하고, 그들을 계속 반환 할 때 하나 X = open_file()

또는 (P, Q) = open_file()

+0

이것은 내가하려고하는 것과 비슷합니다! 나는 이런 식으로 몇 가지 물건들로 놀 것이다! – Marty

1

하나의 옵션은 함수의 참조를 유지하고 루프 내에서 호출하는 것입니다. 예 :

def foo(x): 
    return x+1 

def bar(x): 
    return x+2 

funcs = [foo, bar] 
a = 0 

for f in funcs: 
    a = f(a) 
print(a) 

더 많은 제어가 필요하면 command-pattern을 살펴보십시오.

관련 문제