pickle 복습
* 예외처리를 할 수 있다.
* 모듈을 사용해서 활용해보자.
Error의 개념 이해, try ~ except, traceback.py, sys.py
Exception을 상속받아 사용자 예외처리를 구현
ex)
자동차회사
1. 부서장 회의: 결정(3000,5000,12/24), 추가 논의 → 추상화
2. 각 부서장들은 1번을 가지고 각 부사에 가서 논의 : 결정, 추가논의 → 추상화
3. 각 부사에서 논의된 사항을 가지고 업무를 수행한다. (완성본) → 클래스, 객체 생성
4. 경쟁사에서 12/24 날 자동차 출하/그럴 줄/ 알았다. 2000만 원대 / Exception
5. 부도/회복 불가능//Error
Exception(예외 클래스)
특정 Error에 대응하는 방법을 클래스로 pvm 제공한다.
Error 중에서도 개발자가 프로그램 실행 시 중단의 경우를 대처할 수 있는 클래스이다.
ex) oa 프로그램에서 갑자기 deadlock 이 걸려 병목현상이 발생될 경우. bak.bak 파일에 작업내용을 자동 저장
ex) ZeroDivisionError : 예외 클래스
예외처리
예외를 방치하거나 Error로 인한 프로그램 수행 결과가 잘못 동작을 하는 것이 아니라 Error를 잡고 처리하는 방법을 제공하는 것을 말한다.
# except
# import traceback
Error
Error : syntax Error, semantic Error
syntax Error (구문 오류)
: 파싱 오류(parsing(parsing error)라고도 하며 프로그램 문법에 맞지 않으면 발생하는 오류이다.
구문 오류가 발생하면 오류 메시지가 표시되며 오류를 발견한 지점은 줄번호와 위치 표시로 정확하게 알 수 있다.
semantic Error
: 프로그램 수행 중에 발생할 수 있는 Error로 사전에 프로그래머가 예상해서 처리할 수 있는 가벼운 Error를 말한다. semantic Error = Exception이라고 부른다.
Exception Handling : 예외가 발생한 곳에서 예외를 직접 처리한다.
try ~ except, try~ else, try ~ finally, try ~ else ~ finally
[형식]
try :
<code block>
예외 발생 시 실행되는 코드
except 예외 종류, 예외 변수:
예외 발생 시 실행되는 문구
else:
예외가 발생되지 않았을 때 실행되는 코드
finally:
예외 발생 유무에 상관하지 않고 꼭 실행되는 코드
사용자 Exception
: Exception class를 상속받아서 재정의, 정의, 구현 등을 사용해서 클래스를 선언한다.
상속을 받아 구현한 사용자 정의 Exception 클래스는 raise 키워드를 사용해서 에러를 강제로 발생을 시킨다..
[형식]
raise 예외 클래스
모듈을 import 하는 방법
1. import 모듈명 : 일단 해당 모듈이 이미 로딩된 상태인지 확인하고 없으면 모듈명. py를.py 탐색한다.
2. from 모듈명 import 컴포넌트, 컴포넌트 : 지정된 컴포넌트들을 현재의 네임스페이스로 로딩
3. import 모듈명 as 별칭 또는 "from 모듈명 import 컴포넌트 as 별칭"
: 네임스페이스 충돌을 방지하거나 긴 이름 등에 대처하는 별칭을 지정할 때 사용
★ 중요 모듈: os-탐색기, sys-파이썬 실행, datetime, time (날짜 관련 모듈), (Decimal) 수학 모듈
Decimal
: 진법 변환 에러에 대해 정확한 값을 얻을 수 있도록 제공되는 모듈
- 부동소수점 방식 : 소수점의 위치를 고정하지 않고 그 위치를 찾아내는 수를 따로 적는 방식
- 유효숫자를 나타내는 가수(mantissa)와(mantissa) 소수점 위치를 풀이하는 지수(exponent)를 나누어서 표현
[가수] * [밑수]
>>> 1/3
0.3333333333
- 실제 컴퓨터에서는 보통 이진법을 이용하며 값을 먼저 이진수로 변환 후 정규화하고 그것을 다시 정형화된 형식으로 표현한다.
- 표현식이 끝나면 결괏값이 오버플로 되어 무한대 값이 되거나 언더 플로 되었을 때 비정상적인 값 또는 0이 될 수 있다.
만약 비정상적인 값이 되면 유효숫자를 읽어 버리게 된다.
>>> (90.7 + 30.2) + 0.0002
특징
소수점 자리의 정밀도 조절할 수 있다.
큰 정밀도 연산도 사용할 수 있다.
실수를 정확하게 표현할 수 있다.
'|Playdata_study > Python' 카테고리의 다른 글
210510_Json 구현 및 웹 서비스 (0) | 2021.05.10 |
---|---|
210507_모듈 활용 및 csv (0) | 2021.05.07 |
210504_객체 단위 파일 입/출력 (0) | 2021.05.05 |
210503_OS모듈 (0) | 2021.05.03 |
210429_클래스4 (0) | 2021.04.30 |
댓글