파이썬에서 함수는 특정 작업을 수행하는 코드 블록으로, 필요할 때마다 재사용할 수 있도록 정의된 것입니다. 함수는 마치 요리 레시피와 같습니다. 예를 들어, 김밥을 만드는 방법을 단계별로 적어놓은 레시피가 있다면, 그 레시피를 따라 김밥을 만들 수 있습니다. 함수도 이와 비슷하게, 특정 작업(예: 계산, 출력 등)을 수행하는 단계를 코드로 정리한 것입니다.
- 이름: 함수는 이름을 가져서 호출할 때 사용합니다.
- 입력: 함수에 데이터를 줄 수 있습니다(이를 매개변수라고 함).
- 출력: 함수는 작업을 마친 후 결과를 돌려줄 수 있습니다(이를 반환값이라고 함).
- 재사용성: 한 번 정의해놓으면 언제든지 호출해서 사용할 수 있습니다.
왜 함수를 사용할까
- 코드 재사용: 같은 작업을 반복할 때마다 코드를 새로 쓰지 않아도 됩니다.
- 가독성 향상: 코드를 기능별로 나누면 이해하기 쉽습니다.
- 유지보수 용이: 코드 일부를 수정할 때 함수만 수정하면 됩니다.
파이썬에서 함수의 기본 구조
파이썬에서 함수는 def 키워드를 사용해 정의합니다. 아래는 기본 구조입니다:
def 함수이름(매개변수):
# 수행할 코드
return 결과
- def: 함수를 정의할 때 사용하는 키워드.
- 함수이름: 함수를 부를 때 사용할 이름(예: make_kimbap).
- 매개변수: 함수에 전달되는 입력값(없을 수도 있음).
- return: 함수가 결과를 돌려줄 때 사용(없을 수도 있음)
예시 : 인사말 출력 함수
def say_hello(name):
print(f"안녕하세요, {name}님!")
# 함수 호출
say_hello("지민") # 출력: 안녕하세요, 지민님!
say_hello("민수") # 출력: 안녕하세요, 민수님!
코드 설명:
- 함수 이름: say_hello
- 매개변수: name (학생 이름을 입력받음)
- 역할: 입력받은 이름을 넣어 인사말을 출력
- return이 없으므로 이 함수는 값을 돌려주지 않고 출력만 함
예시 :두 수를 더하는 함수
def add_numbers(a, b):
result = a + b
return result
# 함수 호출
sum = add_numbers(3, 5)
print(sum) # 출력: 8
코드 설명:
- 함수 이름: add_numbers
- 매개변수: a, b (더할 두 숫자)
- 역할: 두 수를 더한 결과를 반환
- return으로 결과를 돌려줘서 변수(sum)에 저장 가능
▣ 함수 사용시 자주 헷갈리는 점
- 들여쓰기: 함수 안의 코드는 반드시 들여쓰기를 해야 합니다. 들여쓰기가 잘못되면 오류가 나거나 함수가 제대로 작동하지 않습니다.
- return vs print: print는 화면에 출력만 하고, return은 값을 돌려줘서 다른 곳에서 사용할 수 있게 합니다.
- 매개변수 없음: 함수는 매개변수 없이도 만들 수 있습니다. 예: def say_hi(): print("안녕!")
파이썬에서는 다른 .py 파일에 정의된 함수를 모듈로 가져와서 사용할 수 있습니다. 이를 위해 import 문을 사용합니다.
다른 .py 파일의 함수를 사용하는 것은 파이썬에서 코드를 체계적으로 관리하고 재사용성을 높이는 중요한 방법입니다.
다른 .py 파일의 함수 사용 방법
파이썬에서 다른 파일의 함수를 사용하려면:
- 함수가 정의된 .py 파일을 모듈로 가져옵니다.
- import 문을 사용해 해당 파일을 불러오고, 점(.) 연산자를 사용해 함수를 호출합니다.
- 파일이 같은 폴더에 있어야 쉽게 불러올 수 있습니다.
예시
두 개의 .py 파일을 사용한 예제입니다. 하나는 함수를 정의한 파일이고, 다른 하나는 그 함수를 호출하는 파일입니다.
파일 1: my_functions.py : 이 파일에 함수를 정의합니다.
# my_functions.py
def say_hello(name):
return f"안녕하세요, {name}님!"
def add_numbers(a, b):
return a + b
파일 2: main.py : 이 파일에서 my_functions.py에 있는 함수를 불러와 사용합니다.
# main.py
# my_functions.py 파일에서 함수를 가져옴
import my_functions
# 함수 호출
greeting = my_functions.say_hello("지민")
print(greeting) # 출력: 안녕하세요, 지민님!
result = my_functions.add_numbers(3, 5)
print(result) # 출력: 8
main.py 실행 방법
- 파일 저장:
- my_functions.py와 main.py를 같은 폴더에 저장합니다.
- 실행:
- main.py를 실행하면 my_functions.py에 정의된 함수를 사용할 수 있습니다.
- 예: 터미널에서 python main.py 실행
특정 함수만 가져오기
만약 모듈 전체가 아니라 특정 함수만 가져오고 싶다면 from ... import ... 구문을 사용합니다.
수정된 main.py
# main.py
# 특정 함수만 가져오기
from my_functions import say_hello, add_numbers
# 함수 호출
greeting = say_hello("민수") # 모듈 이름 없이 바로 사용 가능
print(greeting) # 출력: 안녕하세요, 민수님!
result = add_numbers(4, 6)
print(result) # 출력: 10
다른 파일의 함수를 사용하는 것은 마치 도서관에서 책을 빌려오는 것과 같습니. my_functions.py는 도서관이고, import는 책(함수)을 빌려오는 과정입니다.
모듈 이름 별칭 사용
모듈 이름이 길거나 자주 사용할 때 별칭을 사용할 수 있습니다.
import my_functions as mf
print(mf.say_hello("영희")) # 출력: 안녕하세요, 영희님!
오류 가능성: 만약 my_functions.py가 같은 폴더에 없거나 이름이 잘못되었다면 ModuleNotFoundError가 발생합니다. 파일 경로와 이름을 확인 하십시요.
유튜브 동영상
by korealionkk@gmail.com

'업무 자동화 > python & CAD' 카테고리의 다른 글
| Python CustomTkinter #4 How To Create A Textbox (0) | 2025.08.25 |
|---|---|
| Python CustomTkinter #4 How To Create A Label (1) | 2025.08.25 |
| Python CustomTkinter #2 - How To Create A Button (0) | 2025.08.24 |
| Python CustomTkinter #1 - New window (0) | 2025.08.23 |
| 파이썬 & 텐서플로우 (0) | 2025.08.22 |