Language/Python

[ Python ] 디폴트 인수 / 키워드 인수 정리

곽수진 2021. 9. 27. 17:55
반응형

위치 인수는 기본적인 매개 변수 전달 방법

 

calc(10, 20, 30)


디폴트 인수 : 매개변수가 기본값을 갖도록 한 인수
  → 함수를 만들 때 매개변수에 기본값을 주면 호출 시 해당 매개변수를 생략해도 호출 가능

 

★ 주의: 디폴트 인수 뒤에 디폴트 인수가 아닌 것이 올 수 없음 ★ 

 

 

Ex.

def func1(p1, p2, p3):
    print("func1=>p1: %s, p2: %s, p3: %s"%(p1, p2, p3))

def func2(p1, p2=10, p3=10):
    print("func2=>p1: %s, p2: %s, p3: %s"%(p1, p2, p3))

def func3(p1=10, p2=10, p3=10):
    print("func3=>p1: %s, p2: %s, p3: %s"%(p1, p2, p3))

def func4(p1=10, p2):   
    print("func4=>p1: %s, p2: %s"%(p1, p2))

func1(10, 10, 10)
func2(20)
func2(20, 20)
func2(20, 20, 20)
func3()
func3(30)
func3(30, 30)
func3(30, 30, 30)
#func4(40, 40) # 안됨

 

func1 : p1, p2, p3의 default값이 정해져 있지 않음

  → p1, p2, p3 모두 10으로 출력됨

 

func2 : p2, p3는 10으로 default값이 정해져 있지만 p1은 정해져있지 않음

  → p1, p2, p3의 값을 모두 20으로 지정해도 default값이 존재하는 p2, p3는 10을 출력하고 default값이 없는 p1만 20이 출력됨

 

func3 : p1, p2, p3 모두 default값이 10으로 정해져 있음

  → p1, p2, p3의 값을 30으로 지정해도 default값인 10이 출력됨

 

func4 : default 인수를 사용한 뒤에는 위치 인수를 사용할 수 없음

  → 에러 발생

 

 

# 키워드 인수

: 인수의 이름을 명시적으로 지정해서 전달하는 방법

func1(10, p3=10, p2=10) (O)

 

키워드 인수가 먼저 오고 위치 인수가 오면 안됨

func1(p1=10, 10, p3=10) (X)

 

 폴트 인수 형태라도 키워드 인수가 먼저 오면 안됨

func2(20, p3=20) (O)

func3(30, p3=30, p2=30) (O)

#func3(p1=30, 30, p3=30 (X)
반응형

'Language > Python' 카테고리의 다른 글

[ Python ] 세트(set) 정리  (0) 2021.09.27
[ Python ] 딕셔너리 문법 정리  (0) 2021.09.27
[ Python ] 전역변수/지역변수 정리  (0) 2021.09.27
[ Python ] 함수 정리  (0) 2021.09.27
[ Python ] 리스트 문법 정리  (0) 2021.09.27