deda
Deda의 데이터 디자인
deda
전체 방문자
오늘
어제
  • 분류 전체보기 (121)
    • Python (27)
      • Python 기초 (17)
      • Python 데이터분석 (10)
    • SQL (9)
    • Coding test (54)
      • Python 기초문제 (45)
      • LeetCode (9)
    • BigData (2)
    • ZeroBase (3)
    • UX (0)
    • Business Review (1)
    • 통계 & 수학 (17)
      • 통계학 (14)
      • 수학 (3)
    • 스터디 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 등차수열
  • 부트캠프
  • 미니콘다
  • 데이터엔지니어
  • 소인수분해
  • 데이터분석가
  • 제로베이스
  • 릿코드
  • BMI
  • 네카라쿠배
  • 통계
  • 팩토리얼
  • 기초수학
  • 계차수열
  • 모듈
  • pandas
  • 최소공배수
  • 코딩
  • SQL
  • 데이터사이언티스트
  • 등비수열
  • 프로그래밍
  • 계산기
  • 함수
  • 군수열
  • 데이터분석
  • matplotlib
  • 빅데이터
  • 마이데이터
  • 파이썬

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
deda

Deda의 데이터 디자인

[파이썬 기초] 클래스 상속
Python/Python 기초

[파이썬 기초] 클래스 상속

2022. 4. 28. 10:05

🔍  클래스 상속

- 클래스는 또 다른 클래스를 상속해서 내 것처럼 사용 가능

Class NormalCar: 
         
Class TurboCar(NormalCar):      → NormalCar 상속​

 

1. 생성자

- 객체가 생성될 때 생성자를 호출하면 __init__() 메소드를 자동 호출

- __init__()는 속성을 초기화한다.

Class Calculator:

	def __init__(self, n1, n2):   →     __init__ 메소드 호출

        self.num1 = n1     →  객체의 속성값을 매개변수 10,
        self.num2 = n2                  20 으로 초기화       

cal = Calculator(10, 20)      → Calculator() 생성자 호출 후, 
                                   레퍼런스 변수에 넣어준다.
Class Calculator:

	def __init__(self):  → 매개변수를 받지 않고 항상 같은 값으로 초기화
		self.num1 = 100                      
		self.num2 = 200                     

cal = Calculator()

   

- 상속 후 상위 클래스의 기능은 바로 사용 가능하나, 속성은 __init__ 메소드가 호출되어야 한다.

- 상위 클래스의 속성을 초기화하려면, 직접 상위 클래스의 __init__을 강제호출하거나 super()를 사용

Class P_Calculator:

    def __init__(self, p1, p2): 
        self.pNum1 = p1                      
        self.pNum2 = p2
Class P_Calculator:

    def __init__(self, p1, p2): 
         self.pNum1 = p1                      
         self.pNum2 = p2        


Class C_Calculator(P_Calculator):  → P_Calculator 상속

    def __init__(self, n1, n2): 
         super().__init__(c1, c2):     → 상위 클래스 P_Calculator 초기화(self 안 넣어도 됨)
         self.cNum1 = c1           또는 P_Calulator.__init__(self, c1, c2): 로 강제 초기화          
         self.cNum2 = c2           


cal = C_Calculator(10, 20)
 

[클래스 상속] 중간고사, 기말고사 성적 출력

🔍  문제 중간고사 클래스(MidExam)를 상속하는 기말고사 클래스(EndExam)을 만들고, 점수와 총점, 평균 출력 🗝 사용함수 super() : 상위 클래스의 __init__ 메소드 호출 round(x,2) : x값을 소수점 2째 자리

designingdata.tistory.com


2. self 와 __init__

1) self

- 객체의 인스턴스 그 자체, 자기 자신을 참조하는 매개변수

- 파이썬 메서드의 첫번째 인자로 항상 인스턴스가 전달됨

- 클래스의 구성을 취득할 시 필요한 정형의 구문

 

2) __init__

- 컨스트럭터라고 불리는 초기화를 위한 함수(메소드)

- 인스턴스화를 실시할 때 반드시 처음에 호출되는 특수한 함수

- 오브젝트 생성(인스턴스를 생성)과 관련하여 데이터의 초기를 실시하는 함수

- 클래스 구성에서 정보를 유지하기 위한 중요한 구성

Class Car:

    def __init__(self, name, year, height, weight): 
        self.name = name                      
        self.year = year        
        self.height = height      
		self.weight = weight

 

3. 다중 상속

- 2개 이상의 클래스 상속

Class Car01:

    def drive(self): 


Class Car02:

    def stop(self): 


Class Car02:

    def park(self):


Class Car(Car01, Car02, Car03):

    def __init__(self): 
        pass

tip) 너무 많이 쓰면 안됨. 꼭 필요한 경우에만 사용

 

'Python > Python 기초' 카테고리의 다른 글

[파이썬 기초] 추상클래스, 예외  (0) 2022.04.28
[파이썬 기초] 오버라이딩  (0) 2022.04.28
[파이썬 기초] 객체지향 프로그래밍  (0) 2022.04.28
[파이썬 기초] 패키지  (0) 2022.04.28
[파이썬 기초] 모듈이란?  (0) 2022.04.27
    'Python/Python 기초' 카테고리의 다른 글
    • [파이썬 기초] 추상클래스, 예외
    • [파이썬 기초] 오버라이딩
    • [파이썬 기초] 객체지향 프로그래밍
    • [파이썬 기초] 패키지
    deda
    deda
    데이터 분석 / 파이썬 / UX / 정량리서치

    티스토리툴바