Akashic Records

2.7 모듈과 패키지 본문

Python for Beginners

2.7 모듈과 패키지

Andrew's Akashic Records 2023. 3. 16. 16:00
728x90

파이썬에서 모듈은 하나의 .py 파일로 구성된 코드 묶음을 의미합니다. 모듈은 관련된 함수, 클래스, 변수 등을 그룹화하여 코드의 재사용성과 구조화를 도모합니다. 패키지는 여러 모듈을 포함하는 디렉토리로, 패키지를 사용하면 프로젝트의 복잡성을 관리하고 모듈 간의 관계를 조직화할 수 있습니다.

1.모듈 생성 및 사용: 간단한 함수와 변수가 포함된 모듈을 생성하고, 이를 다른 코드에서 사용해 보겠습니다.


예시 코드 1 - my_module.py 파일 생성:

# my_module.py

def greet(name):
    return f"Hello, {name}!"

age = 25

 

예시 코드 2 - main.py 파일에서 my_module.py 모듈 사용:

# main.py

import my_module

message = my_module.greet("Alice")
print(message)  # 출력: Hello, Alice!

print(my_module.age)  # 출력: 25

 

2. 모듈의 일부만 가져오기: from ... import ... 구문을 사용하여 모듈의 특정 함수나 변수만 가져올 수 있습니다.


예시 코드 3 - main.py 파일에서 my_module.py 모듈의 일부만 사용:

# main.py

from my_module import greet

message = greet("Bob")
print(message)  # 출력: Hello, Bob!

 

3. 패키지 생성 및 사용: 패키지는 디렉토리에 여러 모듈을 포함하여 구성되며, 하위 패키지를 포함할 수 있습니다. 패키지 디렉토리에는 __init__.py 파일이 포함되어야 합니다(파이썬 3.3 이상에서는 선택사항).


예시 디렉토리 구조:

my_package/
    __init__.py
    module1.py
    module2.py

 

예시 코드 4 - module1.py 파일 생성:

# my_package/module1.py

def foo():
    return "This is foo from module1"

 

예시 코드 5 - module2.py 파일 생성:

# my_package/module2.py

def bar():
    return "This is bar from module2"

 

예시 코드 6 - main.py 파일에서 my_package 패키지 사용:

# main.py

from my_package import module1, module2

result1 = module1.foo()
result2 = module2.bar()

print(result1)  # 출력: This is foo from module1
print(result2)  # 출력: This is bar from module2

이처럼 파이썬에서 모듈과 패키지를 사용하면 코드를 구조화하고 재사용성을 높일 수 있습니다. 이를 통해 복잡한 프로젝트를 관리하고, 다양한 라이브러리와 다양한 라이브러리와 프레임워크를 활용할 수 있습니다. 코드의 재사용성을 높이면 개발 시간을 줄이고, 유지 보수를 용이하게 할 수 있습니다.

 

4. 별칭(alias) 사용하기: import ... as ... 구문을 사용하여 모듈이나 패키지를 다른 이름으로 불러올 수 있습니다. 별칭은 코드의 가독성을 높이거나 이름 충돌을 방지하는 데 사용됩니다.


예시 코드 7 - main.py 파일에서 별칭(alias)을 사용하여 모듈 불러오기:

# main.py

import my_module as mm

message = mm.greet("Alice")
print(message)  # 출력: Hello, Alice!

 

5. 패키지 내에서 모듈 간의 상호 작용: 패키지 내에서 다른 모듈의 함수나 변수를 사용하려면 상대 경로를 사용하여 해당 모듈을 가져올 수 있습니다.


예시 디렉토리 구조:

my_package/
    __init__.py
    module1.py
    module2.py

 

예시 코드 8 - module2.py 파일에서 module1.py의 함수를 사용:

# my_package/module2.py

from . import module1

def use_foo():
    return module1.foo() + " used in module2"

def bar():
    return "This is bar from module2"

 

예시 코드 9 - main.py 파일에서 변경된 my_package 패키지 사용:

# main.py

from my_package import module2

result = module2.use_foo()
print(result)  # 출력: This is foo from module1 used in module2

 

파이썬 모듈과 패키지를 사용하면 프로젝트의 구조를 개선하고 코드의 재사용성을 높일 수 있습니다. 또한 다양한 라이브러리와 프레임워크를 쉽게 사용할 수 있어 개발 및 유지 보수에 많은 도움이 됩니다. 이를 통해 효율적인 파이썬 프로그래밍을 실현할 수 있습니다.

728x90

'Python for Beginners' 카테고리의 다른 글

3.2 튜플  (0) 2023.03.17
3.1 리스트  (0) 2023.03.17
2.6 함수  (0) 2023.03.16
2.5 반복문  (0) 2023.03.16
2.4 조건문  (0) 2023.03.16
Comments