2016-10-18 3 views
0

모두.Python 2에서 여러 함수 키워드를 한꺼번에 설정하는 방법은 무엇입니까?

함수 호출에서 여러 키워드를 한 번에 (리스트를 통해?) 설정할 수 있는지 궁금합니다.

foo, bar = 1, 2 
print(foo, bar) 

출력은 (1,2)입니다 : 당신이 할 경우 예를 들어

. 두 키워드 목록이 설정되고

printer([foo, bar] = [1,2]) 

: 함수

def printer(foo, bar) 
    print(foo,bar) 

를 들어

는 같은 일을 할 수 있습니까?

def scaleOffset(...): 
    'stuff happens here 

    return [scale, offset] 

내가 그들을 받아들이는 다른 기능에 이러한 변수를 모두 통과 싶습니다 특히

, 내가 물어 이유는 내가 두 변수, scaleoffset를 반환하는 기능이 있기 때문입니다 키워드로, 아마도 중첩 된 호출로. 사전을 사용 kwargs로 합격을

secondFunction([scale,offset] = scaleOffset()) 
+0

답변보기 : http://stackoverflow.com/a/36908/239078 – bjudson

+0

파이썬 2에서'print'는 함수가 아니라 명령문이라는 사실에 주목할 가치가 있습니다. 'print (foo, bar)'는 괄호가 튜플을 생성하고 함수에 인수를 전달하지 않기 때문에 오해의 소지가 있습니다. 파이썬 3에서'print'는 함수이고'* args' 문법과 같은 것을 사용할 수 있습니다. 'from __future__ import print_function'을 ('from __future__ import ... '문도 아닌 다른 행보다 먼저) 파일의 맨 위에 놓음으로써 파이썬 3 sematics를 얻을 수 있습니다. – Blckknght

답변

3

이 목록

arg_list = ["foo", "bar"] 
my_func(*arg_list) 

로 인수를 전달하려면 :

def secondFunction(scale=None, offset=None): 
    'more stuff 

지금까지이 같은 전화를하는 방법을 발견하지 않았습니다

kwarg_dict = {"keyword": "value"}  
my_func(**kwarg_dict) 
+0

완벽! 결국 나는 사전이 필요했다. 감사! – dgikmo

관련 문제