파이썬 안티패턴과 팁들 몇가지.
그때그때 추가해나갈 예정.
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__":
# 모듈 테스트 코드
해당 블럭 하위에 단일 모듈에 테스트코드 작성해서 활용하기 좋습니다.
반응형
'Software Engineering' 카테고리의 다른 글
[알고리즘] 이진트리 binary tree DFS, BFS (0) | 2022.11.22 |
---|---|
실리콘밸리 개발자 연봉을 알아보자 (페이스북,아마존,구글,마이크로소프트,구글코리아) (0) | 2022.08.27 |
데이터분석가 vs 데이터엔지니어 vs 데이터과학자 차이가 뭘까? (3) 연봉과 보상 (0) | 2021.11.08 |
데이터분석가 vs 데이터엔지니어 vs 데이터과학자 차이가 뭘까? (2) 필요 역량, 기술 (0) | 2021.11.08 |
데이터분석가 vs 데이터엔지니어 vs 데이터과학자 차이가 뭘까? (1) 역할과 정의 (0) | 2021.10.25 |