- 가장 일반적인 형태
- 파라미터에 순서대로 넣은 거다.
💻 python
def football(my_name, my_team_name):
print(f'{my_name}님은 {my_team_name}의 팬입니다.')
football("최대환", "토트넘")
👀 결과
최대환님은 토트넘의 팬입니다.
- 순서에 맞추지 않고 숫자 대신에 파라미터 이름으로 맞추어서 값을 정해주는 것
- 가독성이 높아진다.
💻 python
def football(my_name, my_team_name):
print(f'{my_name}님은 {my_team_name}의 팬입니다.')
football(my_team_name = "토트넘", my_name = "최대환")
👀 결과
최대환님은 토트넘의 팬입니다.
- 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 = "토트넘")
👀 결과
최대환님은 토트넘의 팬입니다.
- 함수의 파라미터에 디폴트값을 정해주면, 값이 따로 넘겨지지 않는 경우 default값이 자동으로 넘겨진다.
💻 python
def football(my_name , my_team_name = "축구"):
print(f'{my_name}님은 {my_team_name}의 팬입니다.')
football("최대환")
👀 결과
최대환님은 축구의 팬입니다.
- 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
이 뜻은 "기본 인수가 아닌 인수가 기본 인수를 따른다" 라는 뜻이다.