취준/[개발공부] python

05-1. 클래스, 모듈, 패키지

우금붕 2023. 7. 4. 12:08

01. 클래스 Class

  • 동일한 클래스로 만든 객체들은 서로 영향을 주지 않는다.
  • C언어에는 클래스가 없다.
  • 인스턴스 : 특정 개체가 어떤 클래스의 객체인지 관계 위주로 설명할 때 많이 사용된다.
# 사칙연산 프로그램
class FourCal :
    def setdata(self, f, s):
        self.f = f
        self.s = s
        
    def add(self) :
        addre = self.f + self.s
        return addre
        
    def sub(self) :
        subre = self.f - self.s
        return subre
        
    def mul(self) :
        mulre = self.f * self.s
        return mulre
        
    def div(self) :
        divre = self.f / self.s
        return divre
  • def setadata()에서 괄호 안의 변수들은 메서드의 매개변수. 수행문은 메서드의 수행문.
  • self : setdata 메서드를 호출한 객체에 자동으로 전달
  • 생성자 Constructor
    초깃값 설정을 위함. 객체 생성시 자동 호출.
    __init__ 사용
def __init__(self, f, s):
        self.f = f
        self.s = s

 

  • 상속 Inheritance
    class 클래스명(상속할 클래스명)
    기존 클래스가 라이브러리 형태로 제공되거나 수정 허용되지 않을 때 필수

  • 메서드 오버라이딩 Method Overriding(덮어쓰기)
    부모 클래스에 있는 메서드를 동일한 이름으로 다시 만들면 오버라이딩한 메서드가 호출된다.
  • class 변수는 클래스명.클래스 변수 로 사용한다.

 

 

 

 

02. 모듈 Modual

  • py 파일은 모두 모듈이라고 할 수 있다.
  • import 모듈 : 함수 사용시 모듈명.모듈함수명() 으로 사용
  • from 모듈명 import 모듈 함수 : 함수 사용시 그냥 모듈함수명()으로 사용
  • if__name__ == "__main__" : 직접 파일을 실행하면 True. 대화형 인터프리터나 모듈로 호출하면 False.

 

 

 

 

03. 패키지 Pacakges

  • 파이썬 모듈을 계층적(디렉터리 구조)으로 관리할 수 있도록 한다.
  • import a, b, c 에서 c는 무조건 모듈이나 패키지여야 한다.
  • __init__.py 파일에 __all__변수 지정해야 한다.(3.3부터는 아님. 하위는 없으면 패키지로 인식하지 않음)
  • relative한 접근자(모듈 내에서만 활용) : ..(부모 디렉터리) / .(현재 디렉토리)

'취준 > [개발공부] python' 카테고리의 다른 글

05-3. 내장 함수, 외장 함수  (0) 2023.07.04
05-2. 예외 처리  (0) 2023.07.04
04-2. 사용자 입출력, 파일 읽고 쓰기  (0) 2023.07.04
04-1. 함수  (0) 2023.07.04
03. 제어문 - if, while, for  (0) 2023.07.04