2017-01-29 1 views
0

나는 파이썬을 배우기 때문에 첫 번째 함수에서 값을 반환 한 후에 다음 값으로 다중 값을 보내는 방법을 이해하는 데 어려움이 있습니까? 또한 하나 이상의 함수를 호출하기 위해 파이썬에서 main()을 사용해야 할 필요가 있습니까?파이썬에서 하나의 함수에서 다른 함수로 값을 전달하기

다음 코드에서 acc_name과 rg_name을 stop() 함수에 전달하고 싶습니다.

다음과 같은 간단한 코드가 있습니다. 로직이 예상대로 작동하기 때문에 코드의 워크 플로를 이해하기를 원합니다.

def handle(event, context): 
     #code logic 
     return acc_name, rg_name 
    def stop(acc_name, rg_name): 
     #code logic 
    return sg_id 

또는

def handle(event, context): 
     #code logic 
     return acc_name, rg_name 
    def stop(x,y): 
     #code logic 
    return sg_id 

    def main(): 
     x,y = handle(event, context) 
     stop(x,y) 

내가 파이썬에 newbiew 오전, 내 코드는 개념에서 차이가있을 수 있습니다. 파이썬 2.7 사용

도움이 될 것입니다. 미리 감사드립니다.

+0

당신은 첫 번째 청크 stop''호출하지 않습니다. – Carcigenicate

+0

정확히 두 번째 청크의 문제점은 무엇입니까? 그것은 당신이 원하는 것을하는 것처럼 보입니다. –

+0

또한 여기에서 묻고있는 것이 분명하지 않습니다. 나는 여기서'main'에 관해서 한가지 질문만을 보았고,'main이 사용되지 않는다면'당신이 무엇을 의미하는지 명확하지 않습니다. – Carcigenicate

답변

1

저는 여러분이 스 니펫 2에서했던 것처럼 두 함수 호출 사이에 인수를 저장하지 않고 functionA에서 functionB로 여러 인수를 전달하는 방법을 가정합니다. 그래서 피하는 방법 :

x, y = functionA() 
functionB(x, y) 

당신이 인수 here's the docs for the feature을 풀기에 의해 할 수있는이. 당신은 호출하여이 작업을 수행 :

functionB(*functionA()) 

또는 귀하의 경우 :

stop(*handle(event, context)) 
+0

@ user1725651이 편리한 바로 가기이지만 더 길고 명확한 형식으로 코드를 읽을 수 있습니다. 간결함! = 많은 경우 읽을 수 있습니다. 둘 다 시도하고 더 읽기 좋은 것을보십시오. – Carcigenicate

+0

@Carcigenicate, 나는 그것을 메모 해 주셔서 감사합니다. – user1725651

관련 문제