반응형
▶ 위치 인수는 기본적인 매개 변수 전달 방법
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 |