본문 바로가기

파이썬/사용법

[python] 함수 파라미터 설정하는 방법 정리 [1]

안녕하세요!

이번 글에서는 파이썬에서 함수 파라미터를 설정하는 방법에 대해서 알아보려고 합니다.

 

1) Positional-or-Keyword Arguments

2) Positional-Only Parameters

3) Keyword-Only Arguments

4) default _Arguments

5) 다 같이 사용해 보기  

 

순으로 알아보겠습니다.


1) Positional-or-Keyword Arguments

/이나 *가 함수 정의에 없으면 인자는 positional이나 keyword 아무거나 전달 가능합니다.

 

def posi_or_keyword(para):
    print(para)


posi_or_keyword(100)
posi_or_keyword(para=100)

# 100
# 100

 

 

2) Positional-Only Parameters

Positional 방식으로만 전달할 수 있도록 할 수 있습니다.

Positional 방식으로만 전달하고 싶은 인자들 뒤에 /를 사용해 주세요

def posi_only(para,/):
    print(para)
    
posi_only(100)
posi_only(para = 100)

# 100
# TypeError: posi_only() got some positional-only arguments passed as 
# keyword arguments: 'para'

/ 뒤의 매개변수는 positional 이거나 keyword 이거나 keyword-only 일 수 있습니다.

 

 

3) Keyword-Only Arguments

첫 번째 키워드 전용 매개변수 앞에 *를 써주면 됩니다

def keyword_only(*,para):
    print(para)

keyword_only(para=100)
keyword_only(100)

# 100
# TypeError: keyword_only() takes 0 positional arguments but 1 was given

positional로 전달하면 에러가 발생합니다.

 

 

4) default _Arguments

def keyword_default(para='default'):
    print(para)

keyword_default()
keyword_default(100)
keyword_default(para=100)


# default
# 100
# 100

default로 기본값을 설정할 수 있습니다.

변경할 일이 별로 없는 파라미터는 default로 미리 값을 넘겨놓으면

함수 호출 시에 파라미터를 전달 안 해도 되기 때문에 더 편하게 사용할 수 있습니다.

 

 

5) 다 같이 사용해 보기  

 

def get_para(para1,/,para2,*,para3,para4 = 7):
    print(f'1: [{para1}]')
    print(f'2: [{para2}]')
    print(f'3: [{para3}]')
    print(f'4: [{para4}]')
    
get_para(1,2,para3=7,para4 = 90)

# 1: [1]
# 2: [2]
# 3: [7]
# 4: [90]

이런 식으로 다 같이 활용이 가능합니다.

 

정리)

1) Positional-or-Keyword Arguments

  *나 /가 없으면 둘 중 하나의 방식을 선택해서 인자를 넘길 수 있도록 할 수 있다.

2) Positional-Only Parameters

  positional로만 전달할 인자 뒤에 /를 써서 positional 로만 인자를 넘기게 할 수 있다.

3) Keyword-Only Arguments

  keyword로만 받고싶은 인자 앞에 *를 사용하여 keyword로만 인자를 넘기게 할 수 있다.

4) default _Arguments

  값이 변할 일이 빈번하지 않은 파라미터에 기본값을 설정할 수 있다.

  앞에 *이 없다면 positional이나 keyword 로 자유롭게 인자를 변경할 수 있다.

 

마치면서)

파이썬 공식 문서에서 파이썬 Special parameters로 예제를 찾아보시면 더욱 자세한 정보를 얻을 수 있습니다. 

다음 글에서도 유용한 파이썬 팁과 기능을 소개하도록 하겠습니다

감사합니다.