문득 나는 코딩을 하다 고민이 되는 순간이 찾아왔는데,,
try except를 쓸까 아님 if else를 쓸까 고민이 됐다,,
그 굉장히 별 쓰잘데기 없는 질문이라 생각할 수도 있겠지만 일단 나는 호기심이 많고 무엇이 더 효율적인지 궁금했던 ㅋㅋ
1) 그냥 스타일 및 방식의 차이일까?
2) 쓰는 상황마다 좀 더 선호될 수 있는 것일까?
우선, 구글링을 해봤을 때 Python은 LBYL (Look Befoe You Leap, 실행 전 에러 요소를 조건절로 검사 = IF) style 보다는 EAFP (Easier to Ask for Forgiveness than Permission, 검사 전 실행해 예외 처리 = TRY ) style 를 권장한다고 함
일단 다들 알다시피 try~except은 예외처리고, if~else는 조건문이고,, (python except의 종류
https://docs.python.org/3/library/exceptions.html 여기,,)
< 뭐가 나을까? >
1) 어떤 stackflow에서의 글쓴이는 99% 확률로 에러 안남 + 1% 확률로 에러 -> TRY 문 / 50% 확률로 에러남 + 50% 확률로 에러안남 -> IF 문
2) 근데 코드 실행결과로는 try 문에서 except 처리 시, if문 보다 5배~10배 느려짐
3) 근데 결론적으로 elif 문을 이용하는게 False 더라도 추가적인 동작이 용이한데 try except 반복해서 쓰는건 좋지 않은 상황일 수 있음
예) 코멘트를 삭제하는 코드를 짜고싶음
1. try - except 의 경우 : try 할때 있으면 지우고 아니면 그냥 except 하고 Error가 잡힐 수만 있고 그 이후 진행 불가
2. if - else 의 경우 : if 할때 있으면 지우고 아닐때도 없는채로 냅둘 수 있음
,, 추가예정 ~~
'Python' 카테고리의 다른 글
[Pytorch] Tensor 란? 차원, 크기 (0) | 2022.12.27 |
---|---|
[Python] 정규표현식 기본 re :: regular expression (0) | 2022.12.14 |
[Python] Asterisk(*) 사용 이해하기 (0) | 2022.04.15 |