금일 학습사항
1. 오류 종류와 기본 예외처리
2. try except 구문
3. 예외 객체와 구분하기
4. raise 구문
5. 표준 모듈
6. 외부 모듈
7. 함수 데코레이터
8. 패키지
각 학습별 상세내용
1. 오류 종류와 기본 예외처리 |
프로그램언어의 오류 2가지
▶ 구문 오류 : 프로그램 실행 전 발생하는 오류 (괄호의 개수, 들여쓰기 문제 등)
▶ 예외 또는 런타임 오류 : 프로그램 실행 중에 발생하는 오류
예외처리하는 방법
▶ 조건문을 사용하는 방법
▶ try-except문을 사용하는 방법
▶ 단, 구문 오류가 발생하는 경우는 예외처리로 불가하기 때문에 코드 자체를 수정해야 한다!!
isdigit() 함수
- 문자열 내부에 숫자가 있는지 확인해준다.
- 문자열 내부에 숫자가 있으면 True, 없으면 False로 반환한다.
2. try except 구문 |
기본구조
try:
예외가 발생할 가능성이 있는 코드
except:
예외가 발생했을 때 실행할 코드
else:
예외가 발생하지 않았을 때 실행할 코드
finally:
무조건 실행할 코드
* return문으로 함수를 빠져나와도 finally문이 있다면 finally문이 실행된다.
* 반복문의 break문을 만나 빠져나와도 finally문이 있다면 finally문이 실행된다.
* finally문은 협업 시 출력용으로 사용하기도 한다.
예외처리문 조합 규칙
try ~ except
try ~ except ~ else
try ~ except ~ finally
try ~ except ~ else ~ finally
try ~ finally
* 이 외 조합으로 구성할 경우 에러 발생
특징
▶ except문에 별다른 처리하지 않을 땐, pass를 입력할 수 있다.
▶ if문을 사용했을 때 보다 속도면에서는 불리하다.
▶ try-except문에 else까지는 잘 쓰진 않는다... (애초에 다른 언어들은 예외처리문에 else가 없다.)
3. 예외 객체와 구분하기 |
예외객체
▶ 예외객체(Exception)을 사용하면 예외의 종류와 내용을 확인 할 수 있다.
응용
▶ Exception 대신 에러명을 입력하면 해당 에러를 직접 처리할 수 있다.
try:
x = a + b
except ValueError:
print("정수로 입력해주세요")
except IndexError:
print("리스트의 범위를 벗어났습니다. 입력값을 다시 확인해주세요!")
[에러설명]
ValueError
1. 부적절한 값을 가진 인자를 받았을 때 발생하는 에러
2. 참조값이 없을 때 발생하는 에러
IndexError
- 존재하지 않는 Index 값에 접근하려 할 때 발생하는 에러
▶ as 키워드를 사용해서 에러내용을 출력할 수 있다.
try:
x = a + b
except ValueError as exception:
print("정수로 입력해주세요")
print("exception:", exception)
except IndexError as exception:
print("리스트의 범위를 벗어났습니다. 입력값을 다시 확인해주세요")
print("exception:", exception)
→ 출력 : 리스트의 범위를 벗어났습니다. 입력값을 다시 확인해주세요
exception: list index out of range
4. raise 구문 |
raise란?
▶ 예외를 강제로 발생시키는 기능
▶ 우리가 의도하지 않게 작동하는 상황을 방지하기 위해 사용
▶ 잘 사용하지는 않아서 알아두기만 할 것!
5. 표준 모듈 |
표준 모듈이란?
▶ 파이썬에 기본적으로 내장되어 있는 모듈
* import 모듈명
예) import math
import random
* from 모듈명 import 함수명
예) from math import co, sin, ceil
사용법
예) math : 수학 관련 모듈
import math
print(math.cos(5))
print(math.sin(10))
from math import *
→ math 모듈의 모든 함수를 불러옴 (모든 함수를 읽어야 하기에, 프로그램 실행속도에 영향을 줄 수 있음)
import math as m
→ math 대신 m 으로 함수를 불러옴
예) print(m.cos(5))
os 모듈
▶ 운영체제와 관련된 기능을 가진 모듈
▶ os.system 명령어의 경우 사용 시 주의를 요함
기타 모듈
▶ datatime, time, urllib 모듈 등이 있다.
6. 외부 모듈 |
외부 모듈
▶ 파이썬에는 다양한 외부 모듈이 있다.
▶ 인공지능 분야에서는 텐서플로와 사이킷런이 있다.
▶ 웹 분야에서는 django와 fastapi 등 굉장히 많은 모듈이 있다.
▶ 이러한 모듈을 설치하는 방법은 pip install 명령을 이용하는 것이다.
외부 모듈의 예
* beautifulsoup4 : 정적페이지 크롤링, 스크래핑할 때 사용하는 외부 모듈
설치 : brew install beautifulsoup4
예)
from urllib import requestfrom bs4
import BeautifulSoup
target = request.urlopen("https://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108")
soup = BeautifulSoup(target, "html.parser")
for location in soup.select("location"):
print("도시:", location.select_one("city").string)
print("날씨:", location.select_one("wf").string)
7. 함수 데코레이터 |
함수 데코레이터
▶ @ 으로 시작하는 구문을 데코레이터라고 한다.
▶ 다른 함수들의 앞뒤로 꾸며주는 역할을 한다.
▶ 데코레이트를 사용하여 중복 코드 작성을 막을 수 있다.
8. 패키지 |
패키지
▶ 모듈의 집합
'TIL' 카테고리의 다른 글
[TIL] 2025.01.14(화) - database 학습 (0) | 2025.01.31 |
---|---|
[TIL] 2025.01.13(월) - python 학습 (0) | 2025.01.24 |
[TIL] 2025.01.09(목) - python 학습 (0) | 2025.01.15 |
[TIL] 2025.01.08(수) - python 학습 (0) | 2025.01.13 |
[TIL] 2025.01.07(화) - python 학습 (0) | 2025.01.13 |
댓글