[python] 8. 함수
1. 함수는 왜 필요한가?
- 코드의 재사용
- 재 사용성 때문에 코드의 생상성과 품질이 향상된다.
2. 함수의 정의
- 함수 선언은 def로 시작
- 함수의 시작과 끝은 들여쓰기로(indentation)로 구분
- 시작과 끝을 명시하지 않음, 들여쓰기가 사라지면 끝난 것이다.
일반적으로 2줄을 뛰어 주는 것으로 구분한다.
- 함수 이름 뒤에오는()안에 파라미터를 생성, 파라미터는 존재 하거나, 존재 하지 않아도 된다.
- 함수 끝에 return 문은 있어도 되고 없어도 된다. 없으면 none이 리턴 된다.
3. 함수에 파라미터 및 return
1) 파라미터 넘기는 방법
(1) 위치 파라미터
- 정해진 파라미터 위치에 맞게 인자를 넘겨야 한다.
(2) 키워드 파라미터
- 파라미터 명(키워드)를 사용하여 위치게 상관없이 인자를 전달 할 수 있다.
* 파라미터 : 함수에서 받는 값
* 인자 : 함수에 전달하는 값
(3) 기본 파라미터 값 지정
- 파라미터에 기본 값을 지정할 수 있다.
- 함수를 호출 시 인자를 입력 하지 않으면, 기본으로 설정된 파라미터 값을 사용한다.
- 파라미터가 적게 들어올 경우 첫 번째 파라미터부터 채워진다.
(4) 가변 파라미터
- 함수의 파라미터에 *를 붙여서 여러개의 인자를 가변 파라미터로 처리 한다.
- 함수의 파라미터에 **를 붙여서 여러개의 인자를 가변 파라미터로 처리 한다 그러나 가변 파라미터가
key,value 형태의 딕셔러니 형태로 처리 된된다.
<좌측 : 가변 파라미터, 우측 : key, value 가변 파라미터>
2) return
- 함수를 종료하고 함수를 호출한 곳으로 돌아감
- 함수는 실행 할 때 모든 함수 관련 리소스(변수 포함)를 스택에 저장하고, return시 스택에서 제거 된다.
- 파이썬에서는 다중 값을 리턴 값으로 전달 가능(실제 튜퓰에 저장되어 리턴됨)
- return을 사용하지 않거나, return만 적었을 때 도 함수가 종료(None 객체를 돌려줌)
'ProgrammingLang > python' 카테고리의 다른 글
[python] 10. 문자열 다루기 2탄 (pyperclip) (0) | 2018.11.13 |
---|---|
[python] 9. 모듈과 패키지 (0) | 2018.11.12 |
[python] 7. 코드 구조2 및 zip ,딕셔너리 setdefault, range 사용 (0) | 2018.11.09 |
[python] 6. 코드의 구조1 (0) | 2018.11.07 |
[python] 5. 딕셔너리(Dictionary) (0) | 2018.11.07 |