본문 바로가기
파이썬 공부

[Python] 파이썬 다른 파일 함수 호출, 초등학교 6학년도 따라할 수 있음

by 파이썬코딩대학 2024. 11. 14.

파이썬에서 다른 파일의 함수 호출하기: 초보자를 위한 가이드

안녕하세요, 코딩에 날개를 달아드릴 친절한 코드 친구입니다! 😊 오늘은 파이썬을 공부하면서 종종 만나게 되는 상황, 바로 "다른 파일에 있는 함수를 어떻게 호출할까요?"라는 질문에 대해 설명해 드릴게요. 이 글을 통해 파일 간 함수 호출을 쉽게 이해하고 코드 관리의 즐거움을 느끼게 되셨으면 좋겠어요!

 

[Python] 파이썬 다른 파일 함수 호출, 초등학교 6학년도 따라할 수 있음
[Python] 파이썬 다른 파일 함수 호출, 초등학교 6학년도 따라할 수 있음

 

모듈과 패키지, 그게 뭔가요?

파이썬에서 코드의 재사용성을 높이기 위해 모듈패키지라는 개념이 나왔어요. 모듈은 간단히 말해 파이썬 파일(.py)로, 이 파일 안에는 함수나 클래스, 변수 등이 포함될 수 있답니다. 예를 들어, my_module.py라는 파일 안에 여러 함수가 있다면, 이 파일 자체가 모듈이 되는 거예요.

 

패키지는 이러한 모듈들을 디렉토리 구조로 묶어 관리하는 것을 말해요. 패키지의 최상위 디렉토리에는 __init__.py라는 파일이 필요해요. 예전에는 이 파일이 패키지 여부를 결정했지만, 요즘엔 없어도 동작은 해요. 다만, 관례적으로 추가해주는 것이 좋아요.

 

다른 파일의 함수 호출하기

다른 파일의 함수를 호출하기 위해서는 먼저 그 파일을 모듈로 불러와야 해요. 파이썬에서는 이를 위해 import 키워드를 사용해요. 예제를 통해 차근차근 이해해 보도록 할게요.

상황 설정

우리가 두 개의 파일을 가지고 있다고 가정해 볼게요.

  1. math_functions.py – 여기에 우리가 사용할 함수가 들어있습니다.
  2. main.py – 여기가 메인 파일로, math_functions.py의 함수를 불러와 사용할 거예요.

Step 1: math_functions.py 파일 만들기

먼저, math_functions.py 파일을 만들어 봅시다. 파일 내용은 다음과 같아요:

# math_functions.py

def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

여기에는 간단한 덧셈과 뺄셈 함수가 있어요.

Step 2: main.py에서 함수 불러오기

이제 main.py 파일에서 이 함수들을 불러와 볼게요. 이 파일의 내용은 아래와 같아요:

# main.py

import math_functions

result1 = math_functions.add(5, 3)
result2 = math_functions.subtract(5, 3)

print(f"5 + 3 = {result1}")
print(f"5 - 3 = {result2}")

설명

  • import math_functions: 여기서 math_functions.py라는 모듈을 불러오는 거예요. 이렇게 하면 math_functions 모듈 안에 있는 함수들을 사용할 수 있어요.
  • math_functions.add(5, 3): math_functions 모듈 안의 add 함수를 호출해요. 이렇게 이용할 때는 모듈명.함수명 방식으로 접근해요.
  • 출력은 5 + 3 = 85 - 3 = 2가 되겠죠?

모듈에서 특정 함수만 불러오기

모듈의 모든 함수가 아닌 특정 함수만 불러오고 싶다면 from ... import ...를 사용합니다. 다음과 같은 방식이에요:

# main.py

from math_functions import add

result = add(5, 3)
print(f"5 + 3 = {result}")

이렇게 하면 add 함수를 사용할 때 앞에 math_functions.를 쓰지 않아도 바로 사용할 수 있어요.

별칭 사용하기

모듈의 이름이 길거나 축약하고 싶을 때는 별칭(alias)을 줄 수 있어요. 다음과 같이 사용합니다:

# main.py

import math_functions as mf

result = mf.add(5, 3)
print(f"5 + 3 = {result}")

여기서는 math_functions라는 모듈을 mf라는 이름으로 사용했어요.

정리하며

이제 다른 파일의 함수를 호출하는 방법에 대해 잘 이해되셨나요? 모듈과 패키지를 활용하면 코드의 재사용이 용이하고 유지보수도 훨씬 편리해집니다. 처음에는 헷갈릴 수 있지만, 여러 번 시도하다 보면 점점 익숙해지고 그 유용함을 실감하게 될 거예요.

 

오늘도 새로운 것을 배운 당신, 정말 멋져요! 코딩의 즐거움을 조금 더 누리시길 바라며, 궁금한 점이 있으면 언제든지 찾아주세요! 😄