Chapter 10. 함수에 대한 추가적인 설명들

전에 함수에 대해 소개를 했을 때
'값을 전달받지 않는 함수', '값을 전달받는 함수', '값을 반환하는 함수(return)'
이렇게 총 세 개를 소개했었는데요!

값을 전달받는 함수

이번에 설명할 부분은 값을 전달받는 함수에 대해 더 알아보려고 합니다!

def print_name(name):
    print('이름은:', name)
def main():
    print_name('PUSH')
main()

이렇게 작성을 했을 때 메인에서 print_name의 인자로 'PUSH'가 들어가게 되면 print_name의 인자로 PUSH가 들어가게 되어 출력했을 때

이렇게 나오게 됩니다!

인자로 두 개를 받는 경우도 있을텐데요!

def print_name_age(name, age):
   print('이름은:', name)
   print('나이는:', age)
def main():
   print_name_age('PUSH', 23)
main()

이 경우엔 순서가 중요합니다! name자리에 age를 적고, age에 name을 적으면 안 되겠져??

디폴트(defalut) 값

만약 입력을 아무것도 하지 않았을 때 기본값을 출력하고싶다!
그럼 디폴트 값을 설정해두면 됩니당

def print_name_age(name='PUSH', age='23'):
    print('이름은:', name)
    print('나이는:', age)
def main():
    print_name_age()
main()


이렇게 하면 인자에 아무 것도 넣지 않으면 디폴트 값이 들어가 결과는 위의 사진처럼 나오게 됩니다~

하지만 해가 바뀌고,,, 나이를 먹는다면 나이를 늘려야겠져??

그래서 print_name_age(24)를 해줬는데!

이름이 24로 바뀌는 현상이 나타납니다!
이러면 안되겠져??

위에서 볼 수 있듯이, print_name_age()는 두 개의 인자를 전달받는데 만약 하나만 쓰이면 앞에 있는 인자인 name으로 값이 전달되기 때문입니다!
그래서 디폴트 값을 갖는 매개변수는 뒤쪽에 와야돼요!
그럼 순서를 바꿔서 코드를 다시 짜보면

def print_name_age(age, name='PUSH'):
    print('이름은:', name)
    print('나이는:', age)
def main():
    print_name_age(24)
main()


나이가 바뀐 것을 확인할 수 있습니다~

그럼 이번 글은 여기서 마치도록 하겠습니다 :D

좋은 웹페이지 즐겨찾기