[Python] 함수 - 값

less than 1 minute read

[Python] 함수 - 값

Inflearn Study

링크: https://www.inflearn.com/

  • 인프런에서 “파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자” 강의를 들으며 혼자 공부한 내용입니다.

기본값

def profile(name, age, main_lang):
    print("이름: {0}\t나이: {1}\t주 사용 언어: {2}"\ 
          .format(name, age, main_lang))
    # 수행 문장이 너무 길때 \ 사용해 다음줄로 넘김

profile("유재석", 20, "파이썬")
profile("김태호", 25, "자바")
  • 만약 같은 학교, 학년, 반, 수업을 듣는 경우 함수를 일일히 지정하기 힘듦
def profile(name, age=17, main_lang="파이썬"):
    print("이름: {0}\t나이: {1}\t주 사용 언어: {2}"\ 
          .format(name, age, main_lang))

profile("유재석")
profile("김태호")

키워드 값

def profile(name, age, main_lang):
    print("이름: {0}\t나이: {1}\t주 사용 언어: {2}"\ 
          .format(name, age, main_lang))

profile(name="유재석", main_lang="파이썬", age=20)
  • 키워드값으로 따로 지정을 해두면 순서가 바뀌어도 키워드값으로 저장됩니다.
  • 주의할 점: 호출 시 위치 매개변수를 먼저 전달하고 그 뒤에 키워드 매개변수를 전달해야합니다.

가변 인자

def profile(name, age, lang1, lang2, lang3, lang4, lang5):
    print("이름: {0}\t나이: {1}".format(name, age),end=" ")
    print(lang1, lang2, lang3, lang4, lang5)
  • 인자의 수가 늘어나면 늘어날 수록 직접 지정해줘야 하므로 불편합니다.
def profile(name, age, *language):
    print("이름: {0}\t나이: {1}".format(name, age),end=" ")
    for lang in language:
        print(lang, end=" ")
    print()

profile("유재석",20, "Python", "Java", "C", "C++", "C#", "JavaScript")
profile("김태호", 25, "Kotlin", "Swift",)
  • 가변 매개변수 사용시 변수명 앞에 * 를 붙입니다.
  • 제약 사항
    • 가변 매개변수 뒤에 일반 매개변수가 올 수 없습니다.
    • 가변 매개변수는 하나만 사용 가능합니다.

Leave a comment