[Python] 함수 정의 _ argument / parameter 본문
1. Default Argument
함수에 인자를 넘기지 않아도 실행될 수 있는 기본값을 지정해 둘 수 있다.
위 예시와 같이 "argument 명 = 값"으로 명시해두면 된다.
위 함수는 prompt에 질문을 받은 후에 유저로부터 입력을 받고 입력 값에 따라 적절한 값이 포함되어 있지 않으면 reminder를 출력해주고 retries횟수만큼 prompt질문을 다시 묻고 포함되어 있다면 True 또는 False를 return 하는 함수이다.
위 예제에서 나오는 키워드 중에 "in" 키워드는 "in" 키워드 앞에 있는 변수에 뒤에 있는 값이 포함되어 있는지를 확인하는 키워드이다.
참 쉽죠?
이 default 값은 함수를 call 할때 다른 값을 주게 되면 그 값으로 함수를 실행한다.
ask_ok 함수를 콜 하는 방법은 3가지가 있다.
- default 값이 없는 인자만 전달 하는 법
ask_ok('당신은 BTS를 좋아합니까?') - default 값이 있는 인자 하나에만 값을 전달하는 법
ask_ok('당신은 BTS를 좋아합니까?', 2) - 모든 인자에 값을 전달 하는 법
ask_ok('당신은 BTS를 좋아합니까?', 3, '당신은 yes 아니면 no만 선택할 수 있어요!')
2. Keyward argument
키워드 인자는 함수를 호출(call)할 때 argument명을 이용해서 값을 전달하는 것이다.
위 예제로 계속 이야기해보자.
ask_ok(retries=3, prompt='당신은 BTS를 좋아합니까?')
이런 식으로 호출하는 방법도 있다는 것이다. 하지만 argument명을 쓸 거면 다 쓰고 쓰지 않을 거면 전부 쓰지 않는 습관을 길러야 한다. argument명을 쓰지 않으면 인자의 순서대로 값을 인식한다. 이것을 positional argument(위치 인자)라 하고 argument명을 쓰는 것을 keyword argument(키워드 인자)라고 한다. 키워드 인자는 위치 인자 뒤에 나올 수 있으나. 키워드 인자가 먼저 나온 다음에 위치 인자를 쓸 수 없다.
예를 들어
ask_ok('당신은 BTS를 좋아합니까?', retries=1) 가능
ask_ok(prompt='당신은 BTS를 좋아합니까?',1) 불가능
3. Arbitrary Argument Lists
가변 길이 인자(여러 개의 인자)들은 보통 함수 선언 시 가장 마지막 인자로 선언한다.
가변 길이 인자는 값을 전달하는 순서를 보장한다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python] PyCharm 플러그인 설치 (0) | 2020.09.19 |
---|---|
[Python] 네이버 매크로 selenium (3) | 2020.06.01 |
[Python] 함수 정의하기 (0) | 2020.01.31 |
[Python] 제어문(if 문), 반복문(for 문, while 문) (0) | 2020.01.28 |
[Python] PyCharm으로 Hello World 출력 하기 (Mac OS) (0) | 2020.01.18 |