JSITCLUB
파이썬 독학#17 - 자주하는 일은 미리 만들어놔요 - 함수 본문
함수는 간단히 설명하면 어떤 기능을 미리 만들어 놓고 그 기능이 필요할 때 사용하는 것이라고 생각하시면 됩니다.
우리가 초등학교에서 배운 다음 그림이나 중, 고등학교에서 배운 f(x)=x+5를 생각하시면 됩니다.
1. 기본형태
# 정의
|
- def를 이용해서 함수의 이름, 매개변수의 개수, 함수의 내용 등을 정의해줍니다.
- 사용할 때마다 함수의 이름+괄호 즉 함수명() 형태로 실행해줍니다. (참고로 자료형의 메서드도 함수이므로 객체. 메서드명() 형태입니다.)
- 함수를 실행하기 전에 먼저(위쪽에) 함수의 정의가 되어 있어야 합니다.
매개변수
- 함수의 외부에서 내부로 전달해줄 때 사용하는 매개체가 되는 변수입니다.(실행할 때 정의된 매개변수에 맞춰 괄호에 값을 넣어주면 그 값이 매개변수에 담기고 함수 내부에서는 매개변수를 사용할 수 있게 됩니다.)
- 매개변수는 파라미터(parameter), 아규먼트(argument), 인수, 인자 등 여러 가지 이름으로 불리는데, 특히 python의 에러 메시지에 argument라는 단어를 사용하니 기억하기 바랍니다.
return
return은 다음 두 가지 기능을 합니다.
1. 함수를 끝낸다
2. return 뒤에 있는 값을 호출한 코드로 전달한다. (값이 전달될 때는 처음 호출한 함수 자체가 리턴 값이 된다고 생각하면 됩니다.)
함수는 필요에 따라 매개변수와 return값을 넣거나 뺄 수 있기 때문에 총 4가지 형태로 사용할 수 있습니다.
매개변수 | return 값 |
없다(x) | 없다(x) |
없다(x) | 있다(o) |
있다(o) | 없다(x) |
있다(o) | 있다(o) |
2. 예제
#1 : 함수 정의
#1-1 : 매개변수가 없고, 리턴 값도 없는 함수를 정의
#1-2 : 매개변수가 1개 있고, 리턴 값은 없는 함수를 정의
#1-3 : 매개변수가 2개 있고, 2개의 매개변수를 더한 값을 리턴 값으로 갖는 함수를 정의
#2 : 함수 실행(호출)
#2-1 : #1-1을 호출.
1. test1() : 매개변수가 정의 되지 않았으므로 함수명() 형태로 호출
2. def test1() : 함수 정의된 곳으로 이동해 함수의 내용을 실행 합니다.
3. print("hello") : "hello"를 출력 합니다.
#2-2 : #1-2를 호출.
1. test2("haha") : 매개변수가 1개 정의 되어 있어서 갯수를 맞춰 호출할때 괄호안에 "haha"를 넣습니다.
2. def test2(param) : "haha"가 함수 정의된 곳의 매개변수 param에 담깁니다.
3. print(param) : param의 값을 출력 합니다.
#2-3 : #1-3을 호출.
1. test3("lulu","lala") : 정의된 갯수에 맞춰 2개의 값을 호출 할때 컴마로 구분해 넣어줍니다.
2. def test3(param1,param2) : 순서에 맞춰 param1에 "lulu"가 param2에 "lala"가 각각 담깁니다.
3. param1+param2 : 문자열 연산으로 "lululala"가 됩니다.
4. return param1+param2 : "lululala"를 호출 했던코드 test3("lulu","lala")로 돌려 줍니다.
5.print(test3("lulu","lala")) : test3("lulu","lala")가 리턴값 "lululala"가 되고 그 값을 출력 합니다.
순서를 다시 정리하면
코딩 순서
: 함수정의 - 함수호출
실행 순서(파이썬의 해석순서)
: 함수정의 인식(함수명,매개변수) - 함수호출 - 인식된 함수정의로 이동(매개변수값 전달) - 함수내용 실행 - 함수호출 코드(리턴값 전달)- 다음코드 진행
이것으로 파이썬 함수의 설명을 마치겠습니다. 보통 함수까지의 과정을 기초 과정이라고 보시면 됩니다. 물론 모듈,클래스등 공부 할 것들이 더 있지만, 먼저 함수까지의 문법을 완전히 익히기 바랍니다. 문법이 익숙해 지면 간단한 알고리즘 문제(https://jsitclub.tistory.com/41)를 풀어보는것도 실력을 쌓는데 도움이 됩니다.
지금까지 배운 순서는 파이썬뿐아니라 다른 언어를 배울때도 거의 비슷하므로 참고 하시기 바랍니다.
- 기본 형태 / 출력 / 입력
- 자료형 / 변수
- 연산자
- 조건문
- 반복문
- 함수
- 각 언어의 특징적 기능 및 자주 사용하는 내장함수들
- 간단한 알고리즘 문제 풀이
그동안 수고하셨습니다.
'파이썬 > 입문' 카테고리의 다른 글
파이썬 - 기초 연습문제 (0) | 2020.05.28 |
---|---|
파이썬 독학#16 - 범위를 정해줘 - range() 함수 (0) | 2020.05.18 |
파이썬 독학#15 - 같은 작업은 나에게 - 반복문 (0) | 2020.05.18 |
파이썬 독학#14 - 맞나? 틀리나? - 조건문 (0) | 2020.04.17 |
파이썬 독학#13 - 특별하게 담는법 - 사전(dict) ,집합(set) (0) | 2020.01.13 |