Skip to Main Content

파이썬 기초 가이드: 함수

코딩 학습 가이드는 소프트웨어학과 송오영교수님이 검수하였습니다.

함수란?

함수어떤 기능을 하도록 만든 코드의 묶음입니다. 그래서 처음 한 번만 작성하면 나중에 필요할 때마다 계속 불러 사용할 수 있습니다.
예로, 지금까지 사용했던 print, input 등도 파이썬에서 미리 만들어둔 함수입니다.

함수는 입력을 받아서 출력을 내보내는 박스로 생각할 수 있습니다.

함수 만들기

def 키워드를 이용하여 함수를 정의할 수 있습니다. 여기서 def는 define(정의하다)에서 따온 키워드입니다.

매개변수는 인수를 전달받는 변수입니다. 함수가 호출될 때마다 인수는 함수의 매개변수로 전달됩니다.
 매개변수의 개수는 정확히 일치하여야 합니다. 즉 매개변수가 2개면 인수도 2개를 전달해야 합니다.

함수가 값을 반환하려면 return 키워드를 사용합니다.

형식

def 함수이름(매개변수):
    코드             # 4칸 들여쓰기
    return 반환값    # 4칸 들여쓰기

정수 start와 end를 받아서 start에서 end까지의 합을 계산하는 함수입니다.

1
2
3
4
5
def get_sum(start, end):
    sum = 0
    for i in range(start, end+1):
        sum = sum + i
    return sum

함수 호출하기

형식

함수이름(인수)

 함수를 만들기 전에 함수를 먼저 호출할 수 없습니다. 파이썬은 위에서 아래로 순차적으로 실행됩니다.
반드시 함수를 먼저 만든 뒤에 함수를 호출합니다.


1
get_sum(110)

get_sum() 함수의 형태와 호출 순서

변수의 범위

지역변수는 말 그대로 한정된 지역에서만 사용되는 변수입니다.
함수 안에서 생성되는 변수를 지역변수라고 합니다. 그래서 함수가 종료되면 사라집니다.

x는 함수1 안에 선언되었습니다. 따라서 x는 함수1에서만 사용될 수 있고, 함수2에서는 x의 존재를 알지 못합니다.

전역변수는 프로그램 전체에서 사용되는 변수입니다.
함수의 외부에서 생성된 변수는 전역변수라고 합니다.

x는 함수(함수1, 함수2) 안이 아니라 바깥에 선언되어 있으므로 모든 함수에서 x의 존재를 알 수 있습니다.

같은 x라고 해도 함수1의 x는 함수 내에서 따로 정의했으므로 지역변수이고, 함수2의 x는 함수 안에 정의된 것이 없으므로 전역변수입니다.

모듈과 패키지

모듈은 함수의 집합으로 생각하면 되며, 별도의 파일에 함수들을 모아놓은 것입니다. 패키지는 여러 모듈을 묶은 것입니다.

모듈을 사용하려면 import 모듈명 문을 사용하며, 함수를 호출할 때는 "모듈명.함수이름()" 형식으로 모듈이름을 앞에 붙여줍니다.
모듈은 표준 모듈, 사용자 정의 모듈, 서드 파티 모듈 3가지가 있습니다. 표준 모듈은 파이썬에서 제공하는 모듈이며, 사용자 정의 모듈은 직접 만들어서 사용하는 모듈입니다. 서드 파티 모듈은 파이썬이 아닌 다른 회사/기관에서 제공하는 모듈입니다.


import로 모듈 가져오기

형식

from 모듈명 import 변수
from 모듈명 import 함수 
from 모듈명 import 클래스

형식

from 모듈명 import *

'*'는 모듈의 모든 변수, 함수, 클래스를 가져옵니다.


import as로 모듈 이름 지정하기

형식

import 모듈명 as 이름

일일이 모듈명을 입력하고 싶지 않을 때는 import as를 사용하여 모듈의 이름을 지정합니다.

예) import math as m
-> math 모듈을 m으로 줄여 사용할 수 있습니다.