1. 추상클래스 사용 이유
- 상위클래스가 하위클래스에게 특정 메서드 구현을 강요
- 어떠한 특정 기능을 상속을 받았을 때, 각자 입맛에 맞게 사용 가능
from abc import ABCMeta → 추상클래스 사용을 위해서 모듈 사용
from abc import abstractmethod
class AirPlane(metaclass=ABCMeta):
@abstractmethod → 데코레이터(함수(메서드) 장식) 사용
def flight(self):
pass → 구현 안함
class AirLine(AirPlane):
def __init__(self, c):
self.color = c
def flight(self): → 꼭 구현하도록 강요. 안하면 에러
print("비행")
2. 예외
- 문법적인 오류는 없으나, 예상치 못한 문제로 프로그램 실행이 어려운 상태
- 예외 관련 클래스는 Exception 클래스를 상속한다.
print(10/0)
print(int('hello'))
1) 예외 처리
- 예상치 못한 예외가 프로그램 전체 실행에 영향이 없도록 처리함
- 예외 발생 예상 구문을 try ~ except로 감싼다.
(1) try ~ except
n1=10; n2=0
try:
print(n1/n2)
except:
print('예외 발생')
(2) try ~ except ~ else : 예외가 아니라면 else 실행
(3) finally
- 예외 발생과 상관없이 항상 실행
- 네트워크를 연결하여, 외부 자원을 가지고 작업을 할 때 사용
2) Exception 클래스
- 예외를 담당하는 클래스. 예외 발생 이유를 알 수 있다.
try:
(생략)
except Exception as e:
print(f'exception: {e}') → exception: division by zero
3) raise
- 예외를 발생시키고 원하는 문구로 출력 가능
4) 사용자 예외 클래스
- 예외 클래스도 클래스이기 때문에 사용자가 만들 수 있다.
'Python > Python 기초' 카테고리의 다른 글
[파이썬 기초] 리스트(list) (0) | 2022.05.02 |
---|---|
[파이썬 기초] return과 print의 차이 (0) | 2022.04.30 |
[파이썬 기초] 오버라이딩 (0) | 2022.04.28 |
[파이썬 기초] 클래스 상속 (0) | 2022.04.28 |
[파이썬 기초] 객체지향 프로그래밍 (0) | 2022.04.28 |