본문 바로가기
5분 공부

[5분 공부] 파이썬 함수, 들여쓰기

by 멍선생 2022. 6. 7.
728x90

지난번 공부시간에 했던 변수에 이어서, 함수를 알아보도록 하자.

 

변수 : 값을 보관하는 역할.

함수 : 명령들을 보관하는 역할.

 

로 간단히 이해하면 쉬울 것 같다.

동일한 내용을 반복해서 쓰거나, 코딩한 결과물을 깔끔하게 정리하고 싶을 때 주로 함수를 사용한다.

함수. 영어로 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칸 해주면 된다.

들여쓰기 시 항상 같은 개수의 공백을 이용해야 한다는 것을 꼭 기억해두도록 하자.

 

오늘의 공부는 여기서 끝.

 

728x90
반응형

댓글