프로그래밍/Python

[Python] 모듈에 대하여

베린이 2023. 12. 15. 07:06
반응형

지금까지는 하나의 .py 파일에만 코드를 작성하여 프로그래밍을 해왔습니다. 그런데 이렇게 작업하면 시간이 갈수록 스크립트가 너무 길어진다는 단점이 있습니다. 그래서 많이 쓰는 함수를 한 파일에 지정해 놓고 그 함수들을 import 하여 더 편리하게 작업할 수 있습니다. 그러면 어떻게 파일을 모듈화 하여 사용하는지 알아보도록 하겠습니다.

 

- 모듈 파일 생성

먼저 함수들을 정의할 파일을 만들어야겠죠? 저는 function.py라는 파일로 저장하도록 하겠습니다.

def plus(*value) :
    result = 0
    for i in value :
        result += i
    return result

def minus(x1,x2) :
    result = 0
    result = x1 - x2
    return result

def mul(*value) :
    result = 1
    for i in value :
        result *= i
    return result

def div(x1,x2) :
    result = 0
    result = x1 / x2
    return result

 

- 모듈 사용 방법

생성된 모듈 파일을 사용하려면 import 함수를 써야합니다.

#모듈 사용 방법: 모듈.함수(input 변수)
import function

a = function.plus(10,15,34,96)
print(a)

a = function.minus(53,22)
print(a)

a = function.mul(3,8,51)
print(a)

a = function.div(96,32)
print(a)

>> 155
>> 31
>> 1224
>> 3.0

 

위와 같이 모듈을 사용해 편하게 프로그래밍하고 코드를 간소화할 수 있습니다. 그런데 위의 예시에서는 모듈에서 불러온 함수 하나하나에 일일이 모듈이름을 적어야 했는데요, 이것도 없앨 수 있습니다.

from function import plus, minus, mul, div

a = plus(10,15,34,96)
print(a)

a = minus(53,22)
print(a)

a = mul(3,8,51)
print(a)

a = div(96,32)
print(a)

>> 155
>> 31
>> 1224
>> 3.0

 

function이라는 모듈에서 불러올 함수들을 일일이 지정하는 방법인데요, 모듈의 모든 함수를 불러올 경우 *를 사용하면 됩니다.

from function import *

a = plus(10,15,34,96)
print(a)

a = minus(53,22)
print(a)

a = mul(3,8,51)
print(a)

a = div(96,32)
print(a)

>> 155
>> 31
>> 1224
>> 3.0