본문 바로가기
프로그래밍/Python

메서드-인수의 종류

by leestun 2020. 7. 28.
반응형

인수란 매개변수와 같은 뜻이다.

<인수의 종류>

1) 가변인수
인수로 정해진 갯수가 아니라 변경 가능한 개수로 받아올 수 있는 인수

<구현부>
def 메서드명(*인수):
(tab)명령
(tab)명령
(tab)return 값

*가변인수는 전달받은 인자값을 튜플로 받아온다
*인수 앞에 *를 붙힌다.
————————————————————————
*메서드 오버로딩
:메서드 중복정의 -> 객체지향언어의 특징

*함수의 시그너처
-함수명
-함수의 매개변수 개수
-함수의 매개변수 타입

-> 함수도 객체다.
따라서 파이썬은 메서드 오버로딩을 지원하지 않는다. 그렇기에 마지막에 정의한 함수만 기억한다.
———————————————————————————————————————-
2)키워드 인수
원하는 인수에 값이 전달될 수 있도록, 호출부에서 메서드명(인수=인자값) 전달하는 방식

<인수의 디폴트 값 지정>
지금까지 함수에 인수를 넣을 때 값이나 변수를 그대로 넣었다. 그러다보니 각각의 인수가 무슨 용도인지 알기가 어렵기 때문에 보통은 순서와 용도를 함께 외운다.



개인 정보를 출력하는 메서드에 만약 순서가 잘못되면 잘못된 결과가 출력될 것이다. 파이썬에서는 인수의 순서와 용도를 매번 기억하지 않도록 키워드인수 라는 기능을 제공한다. 키워드인수는 말 그대로 인수에 이름(키워드)을 붙이는 기능인데 키워드=값 형식으로 사용한다.
*함수(인수 = 값)

personal_info 함수를 키워드인수 방식으로 호출했을 때 결과

키워드인수를 사용하면 함수를 호출할 때 인수의 용도가 명확하게 보인다. 특히 키워드인수를 사용하면 인수의 순서를 맞추지 않아도 키워드에 해당 값이 들어간다.

——————————————————————————————————————
3) 키워드 가변인수

<구조>
def 메서드명(**인수):
(tab)명령
(tab)명령
(tab)명령
(tab)return 값

*전달받는 인자값을
변수=key
값 = value
딕셔너리로 전달받는다.

출력결과



반응형

'프로그래밍 > Python' 카테고리의 다른 글

람다함수  (0) 2020.07.29
재귀함수  (0) 2020.07.28
메서드  (0) 2020.07.27
컬렉션 - 셋  (0) 2020.07.25
컬렉션-딕셔너리  (0) 2020.07.24