수달이네 기술 블로그

0.모듈 본문

언어/Python

0.모듈

슬픈 수달이 2025. 11. 12. 21:50

파이썬 파일의 종류

모듈

파이썬에서 모듈을 만들기 위해서 간단하게 .py확장자를 가진 파일에 코드를 작성하면 된다.

  • 단순한 함수, 변수, 클래스등을 포함한다.

.py파일 작성(vscode)

https://code.visualstudio.com/download

위 홈페이지에서 vscode를 설치한다.

이후 vscode상에서 terminal > new terminal을 사용하여 python — version을 눌러 버전을 확인한다.

없다면 설치

이후 확장자 파이썬을 설치해준다.

모듈 작성

# 변수
PI = 3.141592653589793

# 함수
def add(a, b):
    return a + b

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

# 클래스
class Circle:
    def __init__(self, radius):
        self.radius = radius

    def area(self):
        return PI * self.radius * self.radius

해당 파일을 .py 파이썬으로 만들어 준 후

py파일이나 ipynb파일에서

import 모듈명

모듈명.[변수, 함수, 클래스]

를 이용하여 사용 가능하다.

from 모듈명 import [변수명, 함수명, 클래스명]

변수명

을 이용해서도 바로 사용가능하다.

혹은

import 모듈명 as 별명

별명.[변수, 함수, 클래스]

를 사용할 수 있다.

ipynb파일일경우

import를 했을 때 만약 코랩등의 서버를 사용할 경우

서버가 끊어지면 다시 import를 해주어야 한다.

그러나 만약 해당 파일의 크기가 클 경우에 오래 걸리는 단점을 제거하기 위해

코랩의 경우

  • 드라이브에 만든 모듈을 저장한다.
  • 코랩상에서 드라이브에 마운트를 클릭한다.
  • 이후 내가 저장한 모듈의 공간에 찾아간다.
  • 해당 모듈 폴더의 위치를 복사하여 path변수에 넣어준다.
path = "/content/drive/MyDrive/모듈"
  • sys모듈을 이용하여 sys.path
import sys
sys.path.append(path)

sys.path.append를 이용하면 내가 지정해준 위치에서도 찾아보겠다고 하는 것이다.

path = "/content/drive/MyDrive/모듈"

import sys
sys.path.append(path)
import math_tools

math_tools.PI
#3.141592653589793

위처럼 잘 되는 것을 알 수 있다.

파이썬의 패키지

패키지는 모듈을 포함하는 디렉터리이다.

'''
my_package/
│
├── __init__.py
│
├── module_a.py
│
└── sub_package/
    │
    ├── __init__.py
    └── module_b.py
'''

해당 디렉터리 내에는 __init__.py라는 파일이 존재한다.

  • 해당 파일이 파이썬 패키지 임을 나타냄.
  • __init__.py는 비워도 괜찮고, 패키지 초기화 코드를 넣어도 된다.
    • __all__ = ["circle", "rectangle"](초기화 코드)
from shapes import *
#__init__의 __all__에 들어있는 파일이 모두 가져와진다.
  • 패키지 내에는 모듈, 서브 패키지 등이 들어간다.
from shapes.circle import area as ca
from shapes.rectangle import area as ra
  • 위와 같이 패키지 내의 모듈의 함수를 불러올 수도 있다. 그러나 만약 두 함수의 이름이 같을 경우 아까 사용했던 as를 사용해 별명을 준다.

'언어 > Python' 카테고리의 다른 글

3. 파이썬 매직 메서드, 객체지향, 예외처리  (0) 2025.11.10
1. 파이썬 객체지향  (0) 2025.11.05
2. 파이썬에서의 상속  (0) 2025.11.05
17. 스레드  (0) 2025.09.04
16. 이터레이터, 제너레이터  (0) 2025.09.03