티스토리 뷰

파이썬(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__ 매서드를 구현하면된다.


1.파이썬(Python) - 클래스(Class), self, def, 생성자, 상속, 오버라이딩, 모듈

2.파일입출력(File IO), with, sys, strip, read, write

댓글
댓글쓰기 폼