python

module - 사용자 작성 모듈

bono.html 2022. 10. 6. 16:02

 

module - 사용자 작성 모듈

 

mymodule1 

임의의 모듈을 하나 생성했다

#메인으로 사용하지 않고 다른 모듈에 호출될 멤버를 기술하는 용도
price = 12345

def listHap(*ar):
    print(ar)
    
def kbs():
    print('대한민국 대표방송')

def mbc():
    print('만나면 좋은 친구')

 

 

module2_main

다른 모듈의 멤버 import 

# 다른 모듈의 멤버 호출
list1 =[1, 3]
list2 =[2, 4]

import pack2.mymodule1
pack2.mymodule1.listHap(list1, list2)

([1, 3], [2, 4])

 

 

파이썬 기본 기능으로 해당 모듈의 위치와 이름을 구할 수 있다.

print(pack2.mymodule1.__file__)
print(pack2.mymodule1.__name__)

C:\work\psou\pro1\pack2\mymodule1.py
pack2.mymodule1

 

 

__name__ 활용예시이다.

일반적으로 메인 모듈임을 나타내기 위해 사용된다.

def abcd():
    if __name__ == '__main__':
        print('난 메인 모듈이야')
        
abcd()

 

 

mymodule1 에서 설정한 price 값을 가져와서 format된다.

print('가격은 {}원'.format(pack2.mymodule1.price))

 

 

자주 참조할 모듈은 from import 형식을 사용해서 작성하면 편리하다

from pack2.mymodule1 import price
print('가격은 {}원'.format(price))

 

 

import 뒤에 멤버명을 ,로 나열에서 사용하는 것도 가능하다

from pack2.mymodule1 import kbs, mbc
kbs()
mbc()

 

 

 

mymodule2

def Hap(a, b):
    return a + b
def Cha(a, b):
    return a - b

 

module2_main

다른 패키지의 모듈을 import 하는 것도 방식이 같다

print('\n다른 패키지에 있는 모듈 읽기')
import etc.mymodule2
print(etc.mymodule2.Hap(5, 3))

from etc.mymodule2 import Cha
print(Cha(5, 3))

 

 

 

mymodule3

외부파일로 저장해서 import 하기위해 해당코드를 복사후 지정장소에 우클릭 붙여넣기를 했다

보통 외부파일을 Lib site-packages에 저장한다

def Gop(a, b):
    return a * b
def Nanugi(a, b):
    return a / b

 

module2_main

파일을 생성한 폴더가 path 등록되어 있기 때문에 import하여 사용할 수 있다

print('\n다른 패키지(path가 설정된)에 있는 모듈 읽기')
import mymodule3
print(mymodule3.Gop(5, 3))
from mymodule3 import Nanugi
print(Nanugi(5,3))

 

 

 

Libraries에서 path 확인해보기

추후에 다량의 모듈을 만들고 폴더로 모아서 추가하고 싶다면 New Folder하여 새로운 path를 등록할 수 있다.