지난번 공부시간에 했던 변수에 이어서, 함수를 알아보도록 하자.
변수 : 값을 보관하는 역할.
함수 : 명령들을 보관하는 역할.
로 간단히 이해하면 쉬울 것 같다.
동일한 내용을 반복해서 쓰거나, 코딩한 결과물을 깔끔하게 정리하고 싶을 때 주로 함수를 사용한다.
함수. 영어로 Function. 영어이름으로만 봐도 뭔가 '기능'을 할 것 같은 느낌이다.
수학에서 함수는 f(x) 로 x 값에 따라 결과물이 달라지는 그 무엇인가 가 될 것인데,
프로그래밍에서 함수는, 입력값이 있을 수도 있고 없을 수도 있다.
또 수학처럼 입력값이 숫자로 한정되는 것이 아닌, 문자, boolean, 리스트 등등 어떤 자료형도 되고, 함수가 될 수도 있다.
물론 결과값도 마찬가지이다.
파이썬의 함수 구조는 아래와 같다.기본구조는 이렇다.
def 함수이름(파라미터):
실행할 문장 1
실행할 문장 2
실행할 문장 3
실행할 문장 4
def는 define(정의)의 약자이며, 함수이름 괄호 안에 있는 파라미터(입력값)는 있을 수도 있고, 없을 수도 있다.
함수이름이 포함되는 첫 번째 줄의 끝에 콜론(:)이 들어가고, 함수내용이 있는 두 번째 줄부터는 들여쓰기를 해야한다.
def가 있는 줄은 함수의 헤더(header), 그 아래 들여쓰기된 줄은 함수의 바디(body)로 구분할 수 있다.
함수의 몇가지 쉬운 예시를 보도록 하자.
1. 파라미터가 없는 경우
def hello():
print("hello")
print("hi")
hello()
위와 같이 입력 한 후 실행 시키면 아래와 같은 결과를 받을 수 있다.
2. 파라미터가 있는 경우
def hello(name):
print("hello, %s" % (name))
print("hi")
hello("멍선생")
hello("멍선생2")
hello("멍선생 x 멍선생")
위와 같이 입력 한 후 실행 시키면 아래와 같은 결과를 받을 수 있다.
파라미터 자리에 다양한 값을 하여 이름만 다른 결과물을 받을 수 있다.
3. 파라미터가 여러개인 경우
def print_sum(a, b):
print(a + b)
def print_avg(a, b, c):
print((a + b + c)/3)
print_sum(3, 5)
print_avg(4, 6, 9)
위와 같이 입력 한 후 실행 시키면 아래와 같은 결과를 받을 수 있다.
여러번 반복적으로 수행해야 할 작업을 위해 코드의 동일한 부분을 함수로 정의하여
해당 함수를 호출하여 사용하면 코딩하기에도 쉽고, 읽기도 좋아지는 코드가 될 수 있다.
오늘의 두 번째.
파이썬에서 가장 중요한 들여쓰기.
파이썬은 java나 c++ 처럼 { } 로 코드 블럭을 구분하지 않는다. 그래서 들여쓰기의 단계로 구분을 하게 된다.
들여쓰기를 잘 못할 경우 intented block exception을 볼 수 있다.
긴 코드 에서 저런 부분을 발견한다면, 아 들여쓰기를 잘못했구나 를 빠르게 알아차려야한다.
(IDE를 사용하거나 코딩용 툴을 사용하면 들여쓰기 오류는 빠르게 찾아서 해결 할 수 있다.)
def test(n):
m = n + 1
파이썬에서는 일반적으로 들여쓰기를 위해 Tab 또는 공백 4칸을 사용한다.
Tab으로 들여쓰기를 해서 실행시켰는데 오류가난다면 띄어쓰기로 4칸 해주면 된다.
들여쓰기 시 항상 같은 개수의 공백을 이용해야 한다는 것을 꼭 기억해두도록 하자.
오늘의 공부는 여기서 끝.
'5분 공부' 카테고리의 다른 글
[5분공부] return문 (0) | 2022.07.13 |
---|---|
[5분공부] Syntactic Sugar, Optional Parameters (0) | 2022.06.20 |
[5분 공부] Python 변수, 지정 연산자(assignment operator) (0) | 2022.05.24 |
[5분 공부] Python 기본 - Floor Division, 반올림 (0) | 2022.05.11 |
[5분 공부] Python 기본 - 자료형 확인 (0) | 2022.04.28 |
댓글