일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- SQL
- streamlit
- 머신러닝
- da
- 프로젝트
- Python
- 전처리
- 크롤링
- 태블로
- 팀프로젝트
- 시각화
- 최종 프로젝트
- cross join
- 기초통계
- data analyst
- 데이터 분석
- 클러스터링
- Chat GPT
- 히트맵
- jd
- If
- 서브쿼리
- lambda
- 프롬프트 엔지니어링
- pandas
- 기초프로젝트
- SQLD
- 데이터분석
- GA4
- 군집화
Archives
- Today
- Total
세조목
PYTHON 정리(Try-Except)(24.01.04) 본문
Try-Except
Try-Except문은 에러가 있어도 건너뛰게 할 수 있는 기능이다.
students = [
{'name' = 'Kim', 'age' = 22},
{'name' = 'Lee', 'age' = 25},
{'name' = 'Song', 'age' = 28},
{'name' = 'Knag', 'age' = 23}
}
위와 같은 딕셔너리 리스트가 있다고 가정해보자
나이가 25살 이상인 사람들의 이름만 출력하고싶다면 코드는 다음과 같을 것이다.
students = [
{'name' = 'Kim', 'age' = 22},
{'name' = 'Lee', 'age' = 25},
{'name' = 'Song', 'age' = 28},
{'name' = 'Knag', 'age' = 23}
}
for i in students:
if i['age'] > 25:
print(i['name'])
그런데 만약 하나의 딕셔너리 內 age가 기재되어있지 않다면
오류값이 나올 것이다.
students = [
{'name' = 'Kim', 'age' = 22},
{'name' = 'Lee'},
{'name' = 'Song', 'age' = 28},
{'name' = 'Knag', 'age' = 23}
}
for i in students:
if i['age'] > 25:
print(i['name'])
이 때 Try-Except문을 사용할 수 있다.
students = [
{'name' = 'Kim', 'age' = 22},
{'name' = 'Lee'},
{'name' = 'Song', 'age' = 28},
{'name' = 'Knag', 'age' = 23}
}
for i in students:
try:
if i['age'] > 25:
print(i['name'])
except:
name = i['name']
print(f'{name} - 에러입니다')
>>> Lee - 에러입니다
>>> Song
위 코드를 보면 25세를 초과한 사람의 이름인 'Song'이 출력되고
age가 없는 'Lee'의 이름과 함께 '에러입니다'라는 메시지가 반환된다.
유용한 기능이긴하지만 try-except 기능을 남발하면 어디에서 오류가 발생했는지 알 수가 없고
성능면에서도 좋지 않기때문에 남용하는 것은 금물이다.
'데이터 분석 공부 > Python' 카테고리의 다른 글
PYTHON 정리(IDE, print&return, 메소드, break, pass, continue)(24.01.05) (1) | 2024.01.05 |
---|---|
PYTHON 정리(점프투파이썬 - 함수 리턴값은 언제나 하나, 매개변수 초깃값 설정, 함수 內 선언한 변수의 효력 범위, 함수 안에서 함수 밖의 변수를 변경하는 방법(return, lambda))(24.01.05) (1) | 2024.01.05 |
PYTHON 정리(점프투파이썬 - 함수: kwargs까지)(24.01.03) (0) | 2024.01.03 |
PYTHON 정리(점프투파이썬 - For 제어문)(24.01.01) (1) | 2024.01.01 |
PYTHON 정리(점프투파이썬 - While 제어문)(24.01.01) (0) | 2024.01.01 |