-
Function Parameter & ArgumentPython 2021. 12. 9. 11:30
오늘 알아보고자 하는 것은 Function Parameter & Argument 입니다.
우선 Parameter와 Argument가 어떤걸 의미하는지부터 알아보겠습니다.
그리고 여러 예시를 통해서 설명해드리겠습니다.
* Parameter란
- 매개변수
- 함수가 받는 변수를 의미
* Argument란
- 인자
- 함수에 실제로 들어가는 input value
* Positional Argument (기본값 또는 기본 형태)
- 함수에서 정의한 위치대로 Parameter에 대입
* Keyword Argument (kwargs)
- 순서 대신에 Parameter 이름에 값을 지정
- 장점 : 프로그램의 안정성 UP! (변수명을 써서 변수 기입시 실수를 줄일 수 있습니다.)
가동성 UP! (변수명을 보면 그 역할을 바로 알 수 있어서 가독성이 좋아집니다.)- Positional Argument, Kwargs 순서로 나열 (함께 사용시)
아래의 경우에는 왜 에러메세지가 뜨는지 아시겠나요??
왜 그럴지 조금 생각해보신 후에 내려보시기를 추천드립니다.
에러메세지를 보면 'menu'라는 인자에 값이 2개가 온다는 의미이다. (2 와 불고기)
만약 menu와 day를 함수 호출시 default value argument로 하고자 한다면 (값 지정을 원할 경우)
함수 호출 부분에서 아래처럼 non-default value argument, default value argument 순서로 써야합니다.
def reserve(time, people, menu, day): print(f"저희 {day}일 {time}시에 메뉴는 {menu}로 {people}명 예약할게요.") reserve(5, 10, day=25, menu="불고기")
아래의 예들을 통해서 어떤 부분을 수정해야 할지 생각해보시기 바랍니다.
1. 위치 인수(positional arguments)와 가변 인수(variable length arguments)의 위치를 참고 자료를 통해 조사해서 어떤 에러가 발생 하는지 확인하고, 에러를 고쳐 정상적으로 출력하기!
2. 가변 키워드 인수 (variable length keyword arguments)의 위치를 참고 자료를 통해 조사해서 어떤 에러가 발생 하는지 확인하고, 에러를 고쳐 정상적으로 출력하기!
3. 위치 인수와 키워드 가변 키워드 인수 (variable length keyword arguments)의 위치를 위치를 참고 자료를 통해 조사해서 어떤 에러가 발생 하는지 확인하고, 에러를 고쳐 정상적으로 출력하기!
마지막으로 전체적인 순서를 쓰고 마무리하겠습니다.
1. Positional Argument
2. Default Argument(함수 선언할때 값 지정)
3. *args
4. Non-Default Keyword-Only Arguments 또는 Keyword-Only Arguments with Defaults
5. **kwargs
# Non-Default Keyword-Only Arguments : 합수 입력시에 default value 설정 X, Keyword를 입력받는 것.
# Keyword-Only Arguments with Defaults : 합수 입력시에 default value 있지만 keyword도 입력받는 것.
이해가 안 되서 고생하던 참에 아래의 블로그 글을 여러번 읽으면서 이해할 수 있었습니다!
https://livetodaykono.tistory.com/19'Python' 카테고리의 다른 글
Python dictionary get 메소드 vs Django objects get 메소드 (0) 2022.01.02 Python 용어 정리 (0) 2021.12.15 ImportError 메세지 통해서 절대경로와 상대경로 구분하기 (0) 2021.12.06 sys.modules & sys.path / absolute Path & relative Path (0) 2021.12.05 파이썬 기초 (Data Types, Variable, Operation) (0) 2021.12.04