python

·Study/Python
파이썬으로 작업하다 보면 try~except를 자주 사용하게 된다. 에러가 발생하더라도 전체 작업이 중단되지 않게 하기 위해서인데, 문제는 이걸 여기저기 덕지덕지 사용하다 보니 나중에 디버깅을 할 때 도대체 어디서 문제가 생겼는지 한 번에 파악하기가 어려워졌다는 점이었다. 이 글에서는 내가 실제로 겪었던 방식들을 기준으로, 디버깅 과정에 조금이나마 도움이 되었던 예외 처리 방법을 정리해봤다. try~except + print(e)에러가 발생해도 코드는 계속 동작하게 두고, 어떤 에러가 발생했는지만 로그로 남기는 방법이다.def convert_to_int(value): try: return int(value) except ValueError as e: print(e) ..
·Study/Python
파이썬으로 작업하던 중 “이 상황에서는 그냥 진행하면 안 되는데…” 싶은 순간에 의도적으로 에러를 발생시키는 게 필요해져서 알아보니 raise라는 문법을 발견했다. 이번 글에서는 raise의 사용 예시와 상황에 맞는 예외들을 정리해봤다 raise는 언제 쓰는 게 좋을까?raise는 “이 상태는 정상 흐름이 아니다” 라는 것을 코드로 명확히 표현할 수 있는 방법이다.입력값이 잘못됐거나, 필수 데이터가 없거나, 더 이상 처리를 진행하면 안 되는 경우에 특히 유용했다. raise 사용 예시def validate_age(age): if age 150: raise ValueError("나이는 150 이하여야 합니다.") return age조건을 만족하지 않으면 즉시 ValueError를 ..
·Study/Python
최근 Google API를 사용할 때 하루 호출량 제한에 걸려서 곤란한 적이 있었습니다. 서비스 계정을 여러 개 만들어서 순차적으로 돌리면 되겠다! 싶었는데, 매번 계정을 바꾸는 코드가 너무 지저분해서 다른 방법이 없을까 찾아보다가 itertools.cycle()를 발견했습니다. 반복 가능한 객체를 무한히 순환할 수 있는 함수였는데 오늘은 이 함수와 제가 활용한 코드를 예시로 소개하고자 합니다. itertools.cycle(iterable)기본 개념itertools.cycle(iterable)은 주어진 iterable을 무한히 반복하는 반복자(iterator)를 만들어줍니다. 한번 순회한 값을 메모리에 저장해두고, 마지막까지 순회한 뒤에는 다시 처음부터 반복해요.사용방법iterable 객체를 cycle..
·Study/Python
파이썬으로 여러 프로젝트를 하다 보면 자주 사용하는 함수들이 생깁니다. 저는 보통 utils.py 같은 파일에 복붙해서 쓰곤 했는데요, 문득 "이걸 pip로 설치해서 쓰면 어떨까?" 하는 생각이 들었습니다. 찾아보니 정말 가능하더라구요. setup.py 하나면 됩니다.setup.py로 패키지 만들기1. 패키지 폴더 만들기먼저 자주 사용하는 함수를 하나의 폴더에 정리합니다. 예를 들어 myutils 폴더를 만들고 그 안에 __init__.py와 functions.py를 넣습니다.myutils/├── __init__.py└── functions.py # 자주 쓰는 함수들 2. setup.py 작성하기최상위 디렉토리에 setup.py 파일을 생성합니다. 예시는 아래와 같습니다.# setup.pyfrom se..
Super-Son
'python' 태그의 글 목록