본문 바로가기
자기개발

Python (파이썬) 독학하기 _ #6. 모듈과 패키지 & 클래스

by benjamin-L 2022. 9. 12.
728x90
반응형

파이썬 Package 와 모듈구조

모듈(Module) 이란?

1) 독립적인 기능을 가지고 재사용가능한 프로그램 단위를 모듈이라고 한다.

2) 파이썬에서 모듈은 각각의 소스 파일을 말한다.

  - " .py " 로 저장한 하나의 파일이 하나의 모듈이 된다.

  - 소스파일에 저장한 함수나 클래스 들을 다른 python 프로그램에서 사용할 수 있다.

3) 모듈의 종류

  - 표준모듈  :  파이썬에 내장된 모듈

  - 3rd Party 모듈  :  특정 개발업체나 개발자들이 만들어 배포하는 모듈

  - 사용자 작성 모듈  :  개발자가 재사용을 위해 직접 만든 모듈

 

* 모듈 Import

 - 모듈은 import 키워드로 가져올 수 있다.

 - 기본 구문

   import 모듈

   import 모듈1, 모듈2                   # import할 모듈이 여러개인 경우

   import 모듈 as 이름                   # import as 를 사용하여 모듈의 약칭을 지정할 수 있다.

   from 모듈 import 모듈내 요소    # 해당 모듈의 일부만 import  할 수 있다.

   from 모듈 import *                      # 모듈의 모든 변수, 함수, 클래스를 가져온다.

 

ex) import my_lib as m

      m.test1()

 

패키지(Package) 란?

1) 파이썬에서 모듈은 하나의  .py  파일을 가리킨다. 패키지는 이러한 모듈들을 모은 컬렉션을 가리킨다.

2) 파이썬의 패키지는 하나의 디렉토리에 놓여진 모듈들의 집합을 가리키는데, 그 디렉토리에는 일반적으로 __init__.py 라는 패키지 초기화 파일이 존재한다.

 

* 패키지 Import

 - 패키지는 특정 기능과 관련된 여러 모듈을 묶은 것인데, 패키지에 들어 있는 모듈도 import를 사용하여 가져올 수 있다.

 - import as 로 패키지 모듈 이름 지정하기

 - from import로 패키지의 모듈에서 일부만 가져오기

 

ex) import matplotlib.pyplot as plt            # matplotlib패키지의 pyplot 모듈을 plt로 import 함.

      from matplotlib import pyplot as plt

      plt.plot()

 

클래스(Class) 란?

클래스의 개념

1) 클래스는 객체의 구조와 행동을 정의. 클래스는 복잡한 문제를 다루기 쉽도록 만든다.

2) 크게 나누면 데이터를 표현하는 속성(변수)과 행위를 표현하는 매서드(함수)로 구분

3) 클래스 정의, Define

  - 클래스를 작성하기 위해서는 class 키워드 사용하여 새로운 클래스를 작성

  - Python 클래스의 네이밍컨벤션은 Came1 표기법을 사용한다.

4) 클래스와 객체

  - 붕어빵 틀  ->  클래스 (class)

  - 붕어빵 틀에 의해서 만들어진 붕어빵   ->  객체 (object)

  - 클래스는 붕어빵 틀과 비슷하다. 클래스(class)란 똑같은 무엇인가를 계속해서 만들어 낼수 있는 template이고 객체(object)는 class로 만들어진 결과이다.

  - 클래스로 만든 객체를 인스턴트라고도 한다.

 

ex) class Flight :

      ---- def number(self) :

      -------- return ' SN060 '

      ---- def print_number(self) :

      -------- print( "number : ", self.number() )

 

      f = Flight()

      f.print_number()

     # 실행결과

      number :  SN060

 

* 클래스의 상속, Inheritance

1) 상속(Inheritance)이란 "물려받다" 라는 뜻으로, "재산을 상속받다" 라고 할때의 상속과 같은 의미이다.

2) 클래스에도 이 개념을 적용할 수 있다. 어떤 클래스를 만들때 다른 클래스의 기능을 물려받을 수 있게 만드는 것이다.

3) 부모 클래스 (Parent Class), 슈퍼 클래스(Superclass), 기반클래스(Baseclass) :  기능을 물려주는 class

4) 자식 클래스 (Child Class), 파생 클래스, 서브 클래스(Subclass) :  상속을 받아 새롭게 만드는 class

728x90
반응형

댓글