본문 바로가기
Software Engineering

[파이썬] 안티패턴/팁 모음

by 엔지니어의 노트 2022. 4. 5.

파이썬 안티패턴과 팁들 몇가지.
그때그때 추가해나갈 예정.

import

module로부터 class 또는 function을 import할 때 *를 쓰는 경우, 메모리를 낭비하게 됩니다.

예시)

from {module} import *

따라서 아래와 같이 필요한 object만 지정하여 가져오는 것이 좋습니다.

from {module} import {class}

 

init.py

패키지 경로에 패키지를 인식하기 위한 __init__.py는 생성하기를 권장합니다.
Python 2.x에서는 __init__.py가 있어야 패키지 경로로 인식이 가능합니다.
Python 3.x에서는 꼭 필요하지 않지만 하위호환을 위해 만들기를 추천합니다.

 

Dictionary 참조

dic = {'x':'100', 'y':200'}

key 기준으로 두가지 방법으로 조회할 수 있는데:

1. dic['z']

2. dic.get('z')

1의 경우 없는 key인 'z'를 조회할 때 KeyError를 발생시키고, 2의 경우 없는 key를 조회할 때 None값을 리턴합니다.
따라서 일반적으로 get 을 통해 조회하는 것이 더 안전한 방식입니다.

 

단위실행 (독립실행) 테스트

다른 모듈에서 호출될때는 실행안되고 직접 호출할때만 실행되는 __main__ 활용

if __name__ == "__main__":
    # 모듈 테스트 코드

해당 블럭 하위에 단일 모듈에 테스트코드 작성해서 활용하기 좋습니다. 

반응형