development

함수를 호출 할 때리스트를 * args로 변환

big-blog 2020. 7. 26. 11:37
반응형

함수를 호출 할 때리스트를 * args로 변환


이 질문에는 이미 답변이 있습니다.

파이썬에서 목록을 *args어떻게 변환 합니까?

기능 때문에 알아야합니다

scikits.timeseries.lib.reportlib.Report.__init__(*args)

*args시계열 객체 목록이있는 동안 여러 개의 time_series 객체가로 전달되기를 원합니다 .


*iterable 전에 연산자를 사용 하여 함수 호출 내에서 연산자를 확장 할 수 있습니다. 예를 들면 다음과 같습니다.

timeseries_list = [timeseries1 timeseries2 ...]
r = scikits.timeseries.lib.reportlib.Report(*timeseries_list)

(통지 *전에를 timeseries_list)

로부터 파이썬 문서 :

구문 * expression이 함수 호출에 나타나면 expression은 iterable로 평가되어야합니다. 이 반복 가능한 요소는 추가 위치 인수 인 것처럼 처리됩니다. 위치 인수 x1, ..., xN이 있고 expression이 시퀀스 y1, ..., yM으로 평가되는 경우 M + N 위치 인수 x1, ..., xN, y1,을 호출하는 것과 같습니다. .., yM.

이것은 파이썬 튜토리얼의 Unpacking argument list 라는 섹션에서 다루며 , **연산자를 사용하여 키워드 인수에 대한 사전을 사용하여 유사한 작업을 수행하는 방법도 보여줍니다 .


예, * arg를 사용하여 args를 함수에 전달하면 파이썬이 arg의 값을 압축 해제하여 함수에 전달합니다.

그래서:

>>> def printer(*args):
 print args


>>> printer(2,3,4)
(2, 3, 4)
>>> printer(*range(2, 5))
(2, 3, 4)
>>> printer(range(2, 5))
([2, 3, 4],)
>>> 

*args 함수가 일반적으로 동일한 유형의 여러 인수를 취한다는 것을 의미합니다.

자세한 내용은 Python 자습서 에서이 섹션확인하십시오 .

참고 URL : https://stackoverflow.com/questions/3941517/converting-list-to-args-when-calling-function

반응형