Python에서 함수를 선언할 때 이름 앞에 * 또는 **이 붙은 특수한 형태의 매개변수를 사용 가능하다.  

 

 1.  *매개변수 (가변 개수 매개변수)

def func1(*args):
	print(args)
   

def func2(num, *args):
	print(num, args)
  
   
func1(1, 2, 3, 4)	# 실행결과: (1, 2, 3, 4)
func2(1, 2, 3, 4)	# 실행결과: 1 (2, 3, 4)

 매개변수명 앞에 *을 붙일 경우 매개변수들을 튜플의 형태로 묶어 전달받게된다.  이러한 형태의 매개변수는 하나만

사용 가능하며(두 개 이상 사용될 경우 서로 구분이 불가능) 일반적인 매개변수와 함께 사용 가능하다. 이 경우 일반

변수는 호출 시에 변수이름을 명시하거나 가변 개수 매개변수보다 먼저 입력받도록 선언해야한다.

 

 

2. **매개변수 (키워드 매개변수)

def func1(**args):
	print(args)


def func2(num, **args):
	print(num, args)
   
   
func1(a=2)		# 실행결과: {'a': 2}
func2(3, a=3)		# 실행결과: 3 {'a': 3}

 매개변수명 앞에 **을 붙일 경우 key=value형태의 매개변수를 dictionary 타입으로 저장한다.  일반 매개변수나

가변 개수 매개변수와 혼용할 경우 반드시 마지막으로 입력받도록 선언해야한다. 

'언어 > Python' 카테고리의 다른 글

#12 json 모듈  (0) 2021.09.23
#11 흐름제어 (조건문, 반복문)  (0) 2021.05.27
#9 입력을 받는 여러 방법  (0) 2021.04.06
#8 우선순위 큐(heapq)  (0) 2021.04.05
#7 데크(deque)  (0) 2021.04.05

+ Recent posts