CODEDRAGON ㆍDevelopment/Python
가변인수 리스트
· 함수의 입력파라미터의 갯수를 미리 알 수 없을 때 인수의 개수가 정해지지 않은 가변 인수를 전달합니다.
· 함수 정의시에 일반적인 인수 선언 앞에 *를 사용하여 *입력변수 형식의 인수로 가변 인수를 선언할 수 있습니다.
· 입력변수에는 함수 호출시 넣어주는 인수 값들 중 일반 인수에 할당되는 값을 제외한 나머지 값들을 지닌 튜플 객체가 할당됩니다.(인수는 튜플 형식으로 전달됩니다.)
CASE 1
같은 타입의 데이터를 가변적으로 함수의 인자로 입력받을 수 있습니다.
def 함수이름(*입력변수): <수행할 문장> ... |
입력받은 리스트 객체에서 합집합을 구하는 함수 정의시 입력받는 인수부분을 가변인수로 정의하여 여러 인수를 튜플형식으로 입력받을 수 있습니다.
>>> def union(*items): results=[] for item in items: for x in item: if not x in results: results.append(x) return results
>>> union("red", "green", "yellow", "black") ['r', 'e', 'd', 'g', 'n', 'y', 'l', 'o', 'w', 'b', 'a', 'c', 'k'] |
CASE 2
dict변수에 값을 저장한 다음 dict변수를 통해 함수를 호출할 수 있습니다.
def 함수이름(*입력변수): <수행할 문장> ... |
dict변수생성 함수이름(*dict변수명) |
>>> def union(*items): results=[] for item in items: for x in item: if not x in results: results.append(x) return results
>>> colors = "red", "green", "yellow", "black" >>> union(*colors) ['r', 'e', 'd', 'g', 'n', 'y', 'l', 'o', 'w', 'b', 'a', 'c', 'k'] |
CASE 3
같은 타입의 데이터를 가변적으로 함수의 인자로 입력받을 수 있는데 키워드인수 형태로 입력받습니다.
def 함수이름(**입력변수): <수행할 문장> ... |
>>> def union(**items): results=[] for k, v in items.items(): for x in v: if not x in results: results.append(x) return results
>>> union(a='red', b='green', c='yellow', d='black') ['r', 'e', 'd', 'g', 'n', 'y', 'l', 'o', 'w', 'b', 'a', 'c', 'k'] |
'Development > Python' 카테고리의 다른 글
디렉토리(트리) 탐색하기 (0) | 2020.01.22 |
---|---|
sys 모듈의 표준 입출력 관련 객체 (0) | 2020.01.22 |
global 명령어 이용하기 (0) | 2020.01.22 |
LGB 규칙 (0) | 2020.01.22 |
이름공간(NameSpace) (0) | 2020.01.22 |