복붙노트

[PYTHON] 함수의 모든 인수를 다른 함수에 전달

PYTHON

함수의 모든 인수를 다른 함수에 전달

함수 (func1)에 전달 된 모든 인수를 인수로 전달하여 func1 내부의 다른 함수 (func2)에 전달하려고합니다. 이것은 호출 된 func1의 * args, * kwargs를 사용하여 수행 할 수 있으며 func1을 func2로 전달하지만 다른 방법이 있습니까?

원래

def func1(*args, **kwargs):
    func2(*args, **kwargs)

하지만 내 func1 서명이

def func1(a=1, b=2, c=3):

사용하지 않고 func2로 보내려면 어떻게해야합니까?

def func1(a=1, b=2, c=3):
    func2(a, b, c)

javascript callee.arguments와 같은 방법이 있습니까?

해결법

  1. ==============================

    1.Explicit은 암시적인 것보다 낫지 만 실제로 몇 가지 문자를 입력하지 않으려는 경우 :

    Explicit은 암시적인 것보다 낫지 만 실제로 몇 가지 문자를 입력하지 않으려는 경우 :

    def func1(a=1, b=2, c=3):
        func2(**locals())
    

    locals ()는 모두 지역 변수이므로 func2를 호출하기 전에 추가 vars를 설정할 수 없으므로 전달됩니다.

  2. ==============================

    2.func1에 대한 인수가 키워드 인수 일 뿐이라면 다음과 같이 할 수 있습니다.

    func1에 대한 인수가 키워드 인수 일 뿐이라면 다음과 같이 할 수 있습니다.

    def func1(a=1, b=2, c=3):
        func2(**locals())
    
  3. from https://stackoverflow.com/questions/3136915/passing-all-arguments-of-a-function-to-another-function by cc-by-sa and MIT license