모듈 Module

이찬·2023년 6월 17일
0

Python

목록 보기
8/17
post-thumbnail

"모듈이란 파이썬 정의와 문장들을 담고 있는 파일이다. 파일의 이름은 모듈 이름에 확장자. py를 붙인다."

프로그램을 만들 때 유용한 함수, 클래스, 상수 등등 여러 것들을 이미 만들어 놓고 필요할 때마다 사용할 수 있도록 만들어 놓은 것을 모듈이라고 한다.

예를 들어 팩토리얼 값을 구하는 함수가 있다고 가정해보겠습니다.

프로그램 a에서도 팩토리얼 값을 구하기 위해서 함수를 작성하고
프로그램 b에서도 팩토리얼 값을 구하기 위해서 함수를 작성하고
프로그램 c, d, e, f,....

이렇게 매번 함수를 정의하고 하는 것이 불편하고, 비효율적이기 때문에

팩토리얼 함수를 정의해놓은 파일을 따로 만들어서, 팩토리얼 함수가 필요할 때마다 그 파일에서 꺼내서 사용할 수 있도록 만든 파일을
모듈이라고 부릅니다.

또한, 모듈에는 함수뿐만 아니라 클래스, 상수값 등등 여러 개를 다 정의해놓을 수 있습니다.

파이썬 모듈 만들기

# second.py 파일

def sayMyName():
    print("BlockDMask")


def addNumbers(*args):
    result = 0
    for val in args:
        result += val

    return result


def mulNumbers(*args):
    result = 1
    for val in args:
        result *= val

    return result
# first.py
import second  # second.py 모듈로 가지고오기

second.sayMyName()

result1 = second.addNumbers(1, 2, 3, 4, 5)
result2 = second.mulNumbers(1, 2, 3, 4, 5)

print(f"second.addNumbers(arr) : {result1}")
print(f"second.mulNumbers(arr) : {result2}")

이런 식으로 import second를 통해서 second.py 파일을 first.py 에서 사용할 것이라는 것을 선언합니다.
그다음 "second. 함수 이름"을 통해서 second.py 파일에 있는 유용한 함수를 호출해서 사용할 수 있습니다.

이렇게 파이썬에서는 손쉽게 다른 py 파일에 있는 것을 사용할 수 있습니다. 이때 "다른 py 파일"을 모듈이라고 부릅니다.

파이썬에서 모듈 사용 5가지 방법

- 1. import 모듈

import 모듈 방법은 모듈 전체를 가지고 오며, 사용법은 "모듈 이름. 함수 이름" 이런 식으로 . 을 붙여서 사용하면 됩니다.
여기서는 파이썬 수학 관련 모듈인 math 모듈을 가지고 여러 함수들을 사용하면서 예제를 들어보겠습니다.

import math

# 최대 공약수
r1 = math.gcd(15, 27)
print(f"math.gcd(15, 27) : {r1}")

# 최소 공배수
r2 = math.lcm(15, 27)
print(f"math.lcm(15, 27) : {r2}")

# 제곱, 제곱근
r3 = math.pow(2, 10)
r4 = math.sqrt(100)
print(f"math.pow(2, 10) : {r3}")
print(f"math.sqrt(100) : {r4}")

- 2. import 모듈 as 별명

모듈 이름이 긴 경우에 별명을 지어서 사용할 수 있습니다.
"모듈. 함수 이름"으로 접근을 해야 하는 것 "별명. 함수 이름"으로 사용할 수 있게 됩니다.

- 3. from 모듈 import *

from 모듈 import * 는 모듈 이름 없이 함수를 사용하고 싶을 때 사용합니다.
다 좋은데 많은 모듈을 사용하는 경우에 어디 출신 함수인지 헷갈릴 수 있습니다.

from math import *

# 최대 공약수
r1 = gcd(15, 27)
print(f"gcd(15, 27) : {r1}")

# 최소 공배수
r2 = lcm(15, 27)
print(f"lcm(15, 27) : {r2}")

# 제곱, 제곱근
r3 = pow(2, 10)
r4 = sqrt(100)
print(f"pow(2, 10) : {r3}")
print(f"sqrt(100) : {r4}")

- 4. from 모듈 import 함수 이름, 클래스 이름

모듈에서 특정 함수나 클래스만 사용하고 싶을 때 사용하는 방법입니다.
여기서 import 하지 않은 함수, 클래스는 사용이 불가능합니다.

- 5. from 모듈 import 함수이름 as 별명

from math import gcd as g, lcm as l, pow as p, sqrt as s

# 최대 공약수
r1 = g(15, 27)
print(f"g(15, 27) : {r1}")

# 최소 공배수
r2 = l(15, 27)
print(f"l(15, 27) : {r2}")

# 제곱, 제곱근
r3 = p(2, 10)
r4 = s(100)
print(f"p(2, 10) : {r3}")
print(f"s(100) : {r4}")
profile
Kyunghee univ. IE 21

0개의 댓글