position arguments

  • 가장 일반적인 형태
  • 파라미터에 순서대로 넣은 거다.

👉 예시

💻 python

def football(my_name, my_team_name):
  print(f'{my_name}님은 {my_team_name}의 팬입니다.')

football("최대환", "토트넘")

👀 결과

최대환님은 토트넘의 팬입니다.

keyword arguments

  • 순서에 맞추지 않고 숫자 대신에 파라미터 이름으로 맞추어서 값을 정해주는 것
  • 가독성이 높아진다.

👉 예시

💻 python

def football(my_name, my_team_name):
  print(f'{my_name}님은 {my_team_name}의 팬입니다.')

football(my_team_name = "토트넘", my_name = "최대환")

👀 결과

최대환님은 토트넘의 팬입니다.

Mixing positional arguments

  • position arguments 와 keyword arguments 를 혼용하여 사용하는 것
  • keyword argument는 위치가 바뀌어도 상관없지만, position argument는 순서를 지켜줘야함.

👉 예시

💻 python

def football(my_name, my_team_name):
  print(f'{my_name}님은 {my_team_name}의 팬입니다.')

football("최대환", my_team_name = "토트넘")

👀 결과

최대환님은 토트넘의 팬입니다.

Parameter Default Value

  • 함수의 파라미터에 디폴트값을 정해주면, 값이 따로 넘겨지지 않는 경우 default값이 자동으로 넘겨진다.

👉 예시

💻 python

def football(my_name , my_team_name = "축구"):
  print(f'{my_name}님은 {my_team_name}의 팬입니다.')

football("최대환")

👀 결과

최대환님은 축구의 팬입니다.

default value parameter를 non-default value parameter 앞에 정의 하면 안 되는 이유

  • default value parameter를 non-default value parameter 앞에 위치시키면, 에러가난다.
  • non-default argument follows default argument는 "기본 인수가 아닌 인수가 기본 인수를 따른다" 라는 뜻이다.
  • 컴퓨터는 기본적으로 position arguments를 따르기 때문에 파라미터 내부의 인자 중 default argument가 앞 쪽에 위치하게 된다면 인자가 들어갈 곳이 모호해진다.

👉 예시

💻 python

def football(my_name = "홍길동" , my_team_name):
  print(f'{my_name}님은 {my_team_name}의 팬입니다.')

football("토트넘")  # my_name 에 "홍길동"이 들어갈지 "토트넘"이 들어갈지 모호해진다.

👀 결과

SyntaxError: non-default argument follows default argument

이 뜻은 "기본 인수가 아닌 인수가 기본 인수를 따른다" 라는 뜻이다.

profile
공부의 끝은 남들에게 설명하는 것

0개의 댓글