Notice
Recent Posts
Recent Comments
Link
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Archives
Today
Total
관리 메뉴

Deep CV

__init__ 파일과 __all__ 사용해 보기 본문

Python

__init__ 파일과 __all__ 사용해 보기

Present_Kim 2021. 2. 10. 00:48

cil 패키지 안에는 utils 모듈과 processing 모듈이 있고,

utils 모듈 안에는 유틸리티 함수들 read_image, save_image, display 함수들이 있고, 

processing 모듈 안에는 이미지를 프로세스해 주는 invert함수, merge 함수와 내부적으로 사용되는 함수들이 있을 때. 

 

cil 패키지를 임포트하면 내부적으로 사용되는 함수들을 제외한 모든 함수들을 바로 쓸 수 있도록 하기.

즉, cil 패키지를 임포트하면 패키지의 모든 기능을 사용할 수 있게 만들어 보자.

 

processing 모듈을 import * 했을 때 특정 함수만 쓰고 싶으면

__all__ = ['invert', 'merge']

main에서 cil 패키지만 import해서 processing, utils 모듈을 사용하고 싶으면 init 파일에 아래와 같이 작성

from cil.processing import *
from cil.utils import *

이제 cil 패키지의 read_image와 같은 함수를 cil.로 접근할 수 있다.

import cil

logo = cil.read_image('codeit_logo')
text = cil.read_image('codeit_text')

print('코드잇 로고:')
# logo를 디스플레이해 주세요 
cil.display(logo)
print('\n코드잇 텍스트:')
# text를 디스플레이해 주세요 
cil.display(text)

# text를 색상 반전해서 inverted_text에 저장해 주세요
inverted_text = cil.invert(text)
# logo와 text를 합성한 이미지를 merged_img에 저장해 주세요
merged_img = cil.merge(logo, text)

print('\n색상 반전 텍스트:')
# inverted_text를 디스플레이해 주세요 
cil.display(inverted_text)
print('\n합성 이미지:')
# merged_img를 디스플레이해 주세요 
cil.display(merged_img)