2017-04-18 2 views
1

프로그래밍에 익숙하지 않아이 문제에 고생했으며 도움이 정말 필요했습니다.Python - 다른 함수에서 인수로 인수를 사용하여 함수 전달

내 함수의 매개 변수 중 하나는 선택 사항이지만 다른 함수를 기반으로 여러 기본값을 가질 수 있습니다. 두 함수 모두 동일한 입력을받습니다. 아래 그림과 같이 나는 함수를 사용하여 기본을 할당 할 때 :

def func(foo): 
    # returns different values of some variable k based on foo 

def anotherFunc(foo, bar, k=func(foo)): 
    # this is the same foo input as the previous function 

내가받을 다음과 같은 오류 :

NameError: name 'foo' is not defined 

건이며, 사용자가 '의 값으로'anotherFunc '을 호출 할 수 있습니다 k '는 원하는 것을 만들 수 있습니다. 다른 함수에서 매개 변수로 인수가있는 함수를 사용하는 방법이 있습니까? 아니면 원하는 경우 사용자가 자신의 'k'를 선택할 수있게하면서 이전 함수를 기반으로 'k'의 여러 기본값을 설정할 수있는 방법이 있습니까?

감사합니다. 함수를 정의의 순간에

def func(foo): 
    return foo 

def anotherfunc(foo, bar, k=None): 
    if k == None: 
     k = func(foo) 
    #process whatever 

답변

0

foo 첫 번째 함수의 인수에 대한 자리 표시 자 역할 :

0

당신은 아마 그런 짓을 할 것입니다. 함수가 호출 될 때까지 값은 없으며, 그 값은 함수 본문에서 다음과 같이 액세스 할 수 있습니다.

def another_func(foo, bar, k=None): 
    if k is None: 
     k = func(foo) 
    ... 
관련 문제