동일한 인수를 함수의 선택적 인수에 전달할 때 불필요한 코드 중복을 방지 할 수있는 방법이 있는지 묻고 싶습니다.동일한 옵션 인수를 여러 함수에 전달할 수 있습니까?
는 희망 아래의 예는 내가 뭘하려고 오전의 좋은 아이디어 제공 : 당신이 볼 수 있듯이, F1 및 F2는 F에 전달 된 ARG1에 차이가
def f(arg1):
def g(optional_1=0, optional_2=0, optional_3=0):
return arg1+optional_1+optional_2+optional_3
return g
b, c = 2, 3
f1 = f(1)
f2 = f(2)
calc_f1 = f1(optional_2=b, optional_3=c)
calc_f2 = f2(optional_2=b, optional_3=c)
을, 그 후 나는 그들을 호출 동일한 선택적 인수에 대해 동일한 변수. 코드가 짧을 때 좋습니다. 그러나 10 개 이상의 선택적 인수가 있으면 불필요하게 길어지고 중복됩니다. 는
optional_variable_pair = #some way to combine them
calc_f1 = f1(optional_variable_pair)
calc_f2 = f2(optional_variable_pair)
같은 그래서 난 더 간결하고 읽기 쉬운 코드를 얻을 할 수 있습니까?
내가 전적으로 귀하의 질문을 이해 모르겠지만, 당신이 플랫 연산자 ('*')를 사용하여 시도? 그것은 당신을 도울지도 모른 ㄴ다는 것을 소리가 난다. – Carcigenicate
이 함수들이 무엇이고 반환 값을 사용하고 있는지에 따라 호출 구문을 줄이기보다는 루프 또는 목록 이해에서 이러한 함수를 호출하는 것이 좋습니다. – user2357112
답장을 보내 주셔서 감사합니다. 나는 *가 튜플이나리스트를 언 패킹하는 데 사용될 수 있음을 이해하지만, 나는 그것들을 각각의 선택적 인자와 연관시킬 필요가 있으며 그것을 달성 할 수 있는지를 모른다. –