모듈 : 함수나 변수 또는 클래스들을 모아 놓은 파일
간단한 함수를 만든다.
cmd에서 해당 파일의 위치로 cd 한다.
[인터프리터 사용]
이런식으로 모듈을 이용할 수 있다.
import 모듈이름
또는
from 모듈이름 import 모듈함수
(함수를 호출할 때 모듈이름 안적어도 된다)
해당 모듈에서 불러오고 싶은 모듈함수가 여러개일 때
'*' 문자를 이용한다.
모듈을 import할 때 해당 모듈에 있는 print()가 그냥 출력된다.
이 때는 print()전에 if __name__ == "__main__" : 를 추가하면 된다.
__name__ == "__main__" 이 거짓이 되므로 print()가 실행되지않는 것이다.
이런식으로 이용할 수 있다.
동일한 directory에 있어야만 실행가능하다.
5-3 패키지
패키지는 도트(.)를 이용해 파이썬 모듈을 계층적으로 관리할 수 있게 해준다.
A.B -> A : 패키지명 , B : A패키지의 모듈
이와 같은 구성의 패키지를 만든다.
game 패키지를 참조하기위해 경로를 PYTHONPATH 환경변수에 추가한다.
echo.py의 함수 echo_test를 실행시키는 방법은 3가지가 있다.
1)
2)
3)
할 때마다 ctrl + z를 이용해 인터프리터를 종료하고 다시 실행해야한다.
import한것들이 남아 에러가 발생 할 수 있기 때문이다.
import 할때 마지막
즉 import a.b.c에서 c는 모듈 또는 패키지여야한다.
__init__.py 의 용도
해당 디렉토리가 패키지의 일부임을 알려주는 역할을 한다.
__all__ 의 용도
모듈을 '*'를 이용해 import할 때 __init__.py 파일에 __all__이라는 변수를 만들고
import할 수있는 모듈을 정의해주어야한다.
sound 디렉토리에서 *를 이용해 import 할 때 sound안에 있는 echo 모듈만 import 된다는 의미이다.
5-4 예외처리
오류 예외 처리 기법
try :
....
except [발생 오류[as 오류 메세지 변수]] :
...
try 블록 실행 중에 오류가 발생하면 except 블록이 수행된다.
오류가 발생하지않는다면 except 블록은 수행되지 않는다.
'[]' 는 괄호 속 내용을 생략 할 수 있다는 관례적 표현이다.
try문은 else 절을 지원하는데 예외가 발생하지 않을 때 실행된다.
try문은 finally 절을 지원하는데 예외 발생 여부에 관계없이 항상 수행된다.
오류를 일부러 발생시키기
자식클래스에서 반드시 fly라는 함수를 구현하도록 만들고 싶은 경우 raise를 이용해 오류를 발생시킨다.
class bird() :
def fly(self):
raise NotImplemented
class eagle(bird):
pass
a = eagle()
a.fly()
이와 같은 에러가 발생한다.
메서드 오버라이딩!
class bird() :
def fly(self):
raise NotImplemented
class eagle(bird):
def fly(self) :
print('very fast')
a = eagle()
a.fly()
'프로그래밍 > 파이썬🐍' 카테고리의 다른 글
(10)점프투파이썬_[5-6외장함수] (0) | 2022.01.09 |
---|---|
(9)점프투파이썬_[5-5내장함수] (0) | 2022.01.09 |
(7)점프투파이썬_[5-1파이썬 프로그래밍의 핵심, 클래스] (1) | 2022.01.08 |
(6)점프투파이썬_[4장 함수] (0) | 2022.01.08 |
(5)점프투파이썬_[3장for,if,while] (0) | 2022.01.08 |