deda
Deda의 데이터 디자인
deda
전체 방문자
오늘
어제
  • 분류 전체보기 (121)
    • Python (27)
      • Python 기초 (17)
      • Python 데이터분석 (10)
    • SQL (9)
    • Coding test (54)
      • Python 기초문제 (45)
      • LeetCode (9)
    • BigData (2)
    • ZeroBase (3)
    • UX (0)
    • Business Review (1)
    • 통계 & 수학 (17)
      • 통계학 (14)
      • 수학 (3)
    • 스터디 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 모듈
  • 데이터사이언티스트
  • 통계
  • 코딩
  • 제로베이스
  • SQL
  • 파이썬
  • matplotlib
  • 프로그래밍
  • pandas
  • 등차수열
  • 기초수학
  • 계차수열
  • 데이터분석가
  • 데이터분석
  • 군수열
  • 네카라쿠배
  • 빅데이터
  • 부트캠프
  • 미니콘다
  • 최소공배수
  • 소인수분해
  • 릿코드
  • 계산기
  • 등비수열
  • 함수
  • 마이데이터
  • 팩토리얼
  • BMI
  • 데이터엔지니어

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
deda

Deda의 데이터 디자인

[파이썬 기초] 추상클래스, 예외
Python/Python 기초

[파이썬 기초] 추상클래스, 예외

2022. 4. 28. 12:29

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
    'Python/Python 기초' 카테고리의 다른 글
    • [파이썬 기초] 리스트(list)
    • [파이썬 기초] return과 print의 차이
    • [파이썬 기초] 오버라이딩
    • [파이썬 기초] 클래스 상속
    deda
    deda
    데이터 분석 / 파이썬 / UX / 정량리서치

    티스토리툴바