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
- 예외 발생과 상관없이 항상 실행
- 네트워크를 연결하여, 외부 자원을 가지고 작업을 할 때 사용
[예외처리] 입력한 데이터를 짝수, 홀수, 실수로 분류
🔍 문제 사용자로부터 숫자 5개를 입력받아, 짝수, 홀수, 실수로 구분해서 각각 리스트에 저장 🗝 사용함수 .append() : 리스트에 데이터 추가 🖥 실행 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21..
designingdata.tistory.com
2) Exception 클래스
- 예외를 담당하는 클래스. 예외 발생 이유를 알 수 있다.
try:
(생략)
except Exception as e:
print(f'exception: {e}') → exception: division by zero
3) raise
- 예외를 발생시키고 원하는 문구로 출력 가능
[exception~raise] 문자 발송 시스템
🔍 문제 사용자가 문자 메시지를 보낼 때 10글자 이하면 SMS, 10글자 초과면 MMS 발송 🗝 사용함수 raise Exception() : 일부러 예외를 발생시킴. args[] : 예외메시지(가변인자) 🖥 실행 1 2 3 4 5 6 7 8 9 10.
designingdata.tistory.com
4) 사용자 예외 클래스
- 예외 클래스도 클래스이기 때문에 사용자가 만들 수 있다.
[예외 처리] 비밀번호 확인 프로그램
🔍 문제 사용자 암호를 입력하고, 상황에 따라 예외 처리하는 예외 클래스를 만들기. 5회 이상 입력 시, 프로그램 종료 - 길이가 5 미만 : - 길이가 10 초과 : - 암호가 잘못된 경우 : 🗝 사용함수
designingdata.tistory.com
'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 |