파이썬 함수호출 - 기본값사용

MIN·2023년 10월 22일

Python_문법

목록 보기
13/20
post-thumbnail
이 글은 나도코딩의 파이썬 입문을 공부한 내용을 토대로 작성한 글입니다.
혹시 잘못된 내용이 있을 시 댓글로 알려주시면 감사하겠습니다 ^U^

🍒 기본값이란?

def info(name,age,address):
    print("이름 : {0}, 나이: {1}, 주소: {2}".format(name,age,address))

info("영희",20,"서울")
info("철수",21,"부산")

위 코드는 함수를 이용하여 간단한 인적사항을 출력하는 함수를 만들어 보았다.

실행결과

이름 : 영희, 나이: 20, 주소: 서울
이름 : 철수, 나이: 21, 주소: 부산

그런데 만약에 영희와 철수가 같은 나이에 같은 지역에 살고 있다면 생략할 수 있을 것이다.
영희와 철수가 20살에 사는 지역도 서울로 같다고 했을 때 함수를 재정의 해보았다.

def info(name,age=20,address="서울"):
    print("이름 : {0}, 나이: {1}, 주소: {2}".format(name,age,address))

info("영희")
info("철수")

실행결과

이름 : 영희, 나이: 20, 주소: 서울
이름 : 철수, 나이: 21, 주소: 부산

함수의 전달값 부분을 정의할 때 처음부터 값을 지정해두는 것을 기본값이라고 한다.
이렇게 기본값을 넣어두면 일일이 전달값을 적지 않아도 더욱 간편하게 함수를 호출할 수 있다.

🍒 전달값 작성 순서

함수를 정의할 때 기본값과 전달값이 같이 있는 경우에 반드시 전달값을 먼저 적어야 한다.

def call(name,number="010-1234-1234"):
    print("{0}번을 누를시 {1}님께 연결됩니다.".format(number,name))

call("홍길동")

⬆ 올바른 작성법
실행결과

010-1234-1234번을 누를시 홍길동님께 연결됩니다.


def call(number="010-1234-1234",name):
    print("{0}번을 누를시 {1}님께 연결됩니다.".format(number,name))

call("홍길동")

⬆ 잘못된 작성법
실행결과

SyntaxError: non-default argument follows default argument

이렇게 기본값을 먼저 넣는 경우에는 에러가 발생한다!

profile
기초부터 시작하는 감쟈 ※ 소개글 확인해주세요!! ※

0개의 댓글