ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python 모듈과 패키지 🛠️📦
    프로그래밍/Python 2025. 3. 12. 23:08
    반응형

    Python은 강력한 라이브러리와 모듈 시스템을 제공하여 코드의 재사용성과 관리 효율성을 극대화합니다. 이번 포스팅에서는 모듈과 패키지를 활용하여 효율적인 코드 작성법을 배워보겠습니다! 🚀


    1. 모듈(Module)이란?

    모듈(Module)이란 Python 코드가 작성된 하나의 파일(.py 확장자)를 의미합니다. 여러 개의 함수를 하나의 모듈로 만들어서 쉽게 불러올 수 있습니다.

    📌 모듈 만들기

    아래처럼 mymodule.py 파일을 생성하고 함수를 작성합니다.

    # mymodule.py
    
    def greeting(name):
        return f"안녕하세요, {name}님!"
    

    ✅ mymodule.py는 이제 다른 파일에서 불러와 사용할 수 있는 모듈입니다.

    📌 모듈 가져오기 (import)

    import mymodule
    
    print(mymodule.greeting("민주"))  # 출력: 안녕하세요, 민주님!
    

    ✅ import 모듈이름을 사용하면 해당 모듈을 가져와서 사용할 수 있습니다.

    📌 특정 함수만 가져오기 (from ... import)

    from mymodule import greeting
    
    print(greeting("연탄"))  # 출력: 안녕하세요, 연탄님!
    

    ✅ from 모듈이름 import 함수이름을 사용하면 특정 함수만 가져올 수 있습니다.


    2. 강력한 내장 모듈 활용하기

    Python에는 기본적으로 제공되는 강력한 내장 모듈(Built-in Module)이 있습니다. 이 라이브러리들을 활용하면 복잡한 기능도 간단하게 구현할 수 있습니다.

    📌 math 모듈 활용 (고급 수학 연산)

    import math
    
    print(math.sqrt(16))  # 출력: 4.0 (제곱근 계산)
    print(math.factorial(5))  # 출력: 120 (팩토리얼 계산)
    print(math.pi)  # 출력: 3.141592653589793 (파이 값)
    

    ✅ math 모듈을 사용하면 복잡한 수학 계산이 가능합니다.

    📌 random 모듈 활용 (랜덤 값 생성)

    import random
    
    print(random.randint(1, 10))  # 1부터 10 사이의 랜덤 숫자 생성
    print(random.choice(["사과", "바나나", "포도"]))  # 리스트에서 랜덤 선택
    print(random.sample(range(1, 46), 6))  # 로또 번호 생성
    

    ✅ random 모듈을 활용하면 랜덤 숫자 및 데이터를 생성할 수 있습니다.

    📌 os 모듈 활용 (파일 및 시스템 제어)

    import os
    
    print(os.getcwd())  # 현재 작업 디렉터리 확인
    os.mkdir("new_folder")  # 새 폴더 생성
    print(os.listdir("."))  # 현재 디렉터리 내 파일 목록 출력
    

    ✅ os 모듈을 사용하면 파일 및 디렉터리를 쉽게 관리할 수 있습니다.


    3. 패키지(Package)란?

    패키지(Package)는 여러 개의 모듈을 하나의 디렉터리(폴더)로 묶어서 관리하는 방식입니다.

    📌 패키지 구조 예시

    my_package/  # 패키지 폴더
     ├── __init__.py  # 패키지 설정 파일
     ├── module1.py  # 첫 번째 모듈
     ├── module2.py  # 두 번째 모듈
    

    ✅ __init__.py 파일이 포함된 폴더는 패키지로 인식됩니다.

    📌 패키지에서 모듈 가져오기

    from my_package import module1
    
    module1.some_function()
    

    ✅ from 패키지이름 import 모듈이름을 사용하여 패키지 내부의 모듈을 불러올 수 있습니다.


    4. 강력한 외부 라이브러리 활용하기

    Python의 방대한 외부 라이브러리를 사용하면 더욱 강력한 기능을 구현할 수 있습니다.

    📌 numpy (고성능 수학 연산)

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5])
    print(np.mean(arr))  # 평균값 계산
    

    ✅ numpy를 사용하면 배열 연산과 고급 수학 연산이 가능합니다.

    📌 pandas (데이터 분석)

    import pandas as pd
    
    data = {"이름": ["민주", "연탄"], "나이": [25, 3]}
    df = pd.DataFrame(data)
    print(df)
    

    ✅ pandas를 활용하면 테이블 데이터를 쉽게 분석할 수 있습니다.


    5. 연습문제: 직접 실습해보기! 🎯

    # 1. 새로운 모듈 `calculator.py`를 만들고, 덧셈 함수를 작성하세요.
    # 그리고 다른 파일에서 이 모듈을 불러와 사용하세요.
    
    def add(a, b):
        return a + b
    
    # 2. `math` 모듈을 활용하여 원의 면적을 계산하는 코드를 작성하세요.
    import math
    
    def circle_area(radius):
        return math.pi * (radius ** 2)
    
    print(circle_area(5))  # 출력: 원의 면적
    

     


     

    🎯 마무리

    오늘은 Python의 모듈과 패키지 그리고 강력한 라이브러리들을 배웠습니다! 🏆

    • import를 사용하여 모듈을 가져오는 방법
    • from ... import를 활용하여 특정 함수만 가져오기
    • 내장 모듈(math, random, os) 활용
    • 패키지를 만들어 여러 모듈을 관리하는 방법
    • numpy, pandas와 같은 강력한 라이브러리 활용

    💡 다음 포스팅에서는 'Python 웹 크롤링'을 다룰 예정입니다! 🚀

    ✍️ 질문이나 궁금한 점이 있다면 댓글로 남겨주세요! 😊

Designed by Tistory.