파이썬(Python) - 패키지(package),
예외처리(try, catch), 예외생성 등
하위 내용은 파이썬을 공부하며 간단요약한 내용입니다. (공부/포스팅방식 참고) 좀 더 자세한 내용은 관련 도서를 참고해주세요.
오후 3:54 2018-05-22
[패키지]
모듈을 계층적으로 관리할 수 있게 도와준다.
위처럼 작성 해준뒤 인터프리터에서 set PYTHONPATH=경로 를 지정해준뒤 python을 입력한 후 import하는 식으로 사용할 수 있다.
.를 사용해서 임포트할시 마지막 항복은 무조건 모듈이나 패키지 이어야한다.
[__init__.py는 어떤 파일인가]
이 파일은 해당 디렉토리가 package의 일부라는 것을 알려주는 역할이다.
없다면 import시 오류가 나타날 수 있다. (최신버전에서는 가능하지만 하위호환을 위해서 만들어주는 것이 좋다.)
또한 패키지에서 별(*)을 써서 모든 것을 import 시켜줄라면, __init__.py 내부에 __all__ 변수가 있어야한다.
(from에서 마지막 항목이 모듈일 경우 __all__은 상관이없다.)
[relative package]
from ..graphic.rend import rend_test
이런식으로 ..을 사용한 상위 디렉터리로 이동해서 가져다 쓸 수 있다.
(모듈안에서만 사용이 가능하다.)
오후 4:17 2018-05-22
[예외처리]
FileNotFoundError : 없는 파일을 열라고 할시 발생한다.
ZeroDivisionErro : 0으로 나누려고 할 때 발생한다.
IndexError : 없는 인덱스에 접근시 발생한다.
[try, except문을 사용한다.]
try:...
except [발생한 오류[as 오류 메세지 변수e]]:...
대괄호('[]')안에 있는것은 생략이 가능하다.
발생한오류 사용시 해당 오류가 발생할 경우에 except내부를 실행한다.
try:
except XXXError as e:
print(e)
이런식으로 사용이가능하며 (2.7에선 XXXError, e 로 사용해야함)
try-except-else 처럼 else를 끝에 사용하게되면 예외가 발생하지 않을 경우 반드시 else문을 수행한다.
try-finally 처럼 finally를 사용하게되면, 무조건 finally구문은 실행하게된다.
[오류 무시하기]
except내부에 pass를 추가해서 간단하게 오류를 회피가능하다.
[오류 발생시키기]
raise를 사용해서 오류를 던질 수 있다.
[커스텀 예외 만들기]
class 예외이름(Exception):
과 같이 Excepion을 상속해서 만들어주면된다.
이때 e로 받아서 출력가능하게 하려면 __str__ 매서드를 구현하면된다.
'Python' 카테고리의 다른 글
python ECDSA library Examples of use (0) | 2018.06.04 |
---|---|
파이썬(Python) - 내장함수,외장함수 사용법 모음 (+공부후기) (1) | 2018.05.25 |
파이썬(Python) - 클래스(Class), self, def, 생성자, 상속, 오버라이딩, 모듈 (0) | 2018.05.25 |
파이썬(Python) - 파일입출력(File IO), with, sys, strip, read, write (0) | 2018.05.24 |
파이썬(Python) - 람다(lambda) 및 for, range, kwargs 요약 (1) | 2018.05.22 |