파이썬 튜토리얼

파이썬 홈 파이썬 소개 파이썬 시작하기 파이썬 구문 파이썬 주석 파이썬 변수 파이썬 데이터 유형 파이썬 숫자 파이썬 캐스팅 파이썬 문자열 파이썬 부울 파이썬 연산자 파이썬 목록 파이썬 튜플 파이썬 세트 파이썬 사전 파이썬 If...Else 파이썬 while 루프 Python For 루프 파이썬 함수 파이썬 람다 파이썬 배열 파이썬 클래스/객체 파이썬 상속 파이썬 반복자 파이썬 범위 파이썬 모듈 파이썬 날짜 파이썬 수학 파이썬 JSON 파이썬 정규식 파이썬 PIP 파이썬 시도...제외 파이썬 사용자 입력 파이썬 문자열 포맷

파일 처리

파이썬 파일 처리 파이썬 읽기 파일 Python 파일 쓰기/만들기 파이썬 파일 삭제

파이썬 모듈

넘파이 튜토리얼 팬더 연습 사이피 튜토리얼

파이썬 Matplotlib

Matplotlib 소개 Matplotlib 시작하기 Matplotlib 파이플로트 Matplotlib 플로팅 Matplotlib 마커 Matplotlib 라인 Matplotlib 레이블 Matplotlib 그리드 Matplotlib 서브플롯 Matplotlib 분산 Matplotlib 바 Matplotlib 히스토그램 Matplotlib 파이 차트

기계 학습

시작하기 평균 중앙값 모드 표준 편차 백분위수 데이터 배포 정규 데이터 분포 산포도 선형 회귀 다항식 회귀 다중 회귀 규모 훈련/시험 의사결정나무

파이썬 MySQL

MySQL 시작하기 MySQL 데이터베이스 생성 MySQL 테이블 생성 MySQL 삽입 MySQL 선택 MySQL 어디 MySQL 주문 기준 MySQL 삭제 MySQL 삭제 테이블 MySQL 업데이트 MySQL 제한 MySQL 조인

파이썬 몽고DB

몽고DB 시작하기 MongoDB 데이터베이스 생성 MongoDB 컬렉션 생성 몽고DB 삽입 몽고DB 찾기 몽고DB 쿼리 몽고DB 정렬 몽고DB 삭제 MongoDB 드롭 컬렉션 몽고DB 업데이트 몽고DB 제한

파이썬 참조

파이썬 개요 파이썬 내장 함수 파이썬 문자열 메서드 파이썬 목록 메서드 파이썬 사전 메서드 파이썬 튜플 메서드 파이썬 세트 메소드 파이썬 파일 메서드 파이썬 키워드 파이썬 예외 파이썬 용어집

모듈 참조

랜덤 모듈 요청 모듈 통계 모듈 수학 모듈 cMath 모듈

파이썬 방법

목록 중복 제거 문자열 반전 두 개의 숫자 더하기

파이썬 예제

파이썬 예제 파이썬 컴파일러 파이썬 연습 파이썬 퀴즈 파이썬 인증서

파이썬 상속


파이썬 상속

상속을 통해 다른 클래스의 모든 메서드와 속성을 상속하는 클래스를 정의할 수 있습니다.

부모 클래스 는 상속되는 클래스이며 기본 클래스라고도 합니다.

자식 클래스 는 파생 클래스라고도 하는 다른 클래스에서 상속되는 클래스입니다.


부모 클래스 만들기

모든 클래스는 상위 클래스가 될 수 있으므로 구문은 다른 클래스를 생성하는 것과 동일합니다.

예시

속성과 메서드 Person를 사용하여 이라는 클래스를 만듭니다 .firstnamelastnameprintname

class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

  def printname(self):
    print(self.firstname, self.lastname)

#Use the Person class to create an object, and then execute the printname method:

x = Person("John", "Doe")
x.printname()

자식 클래스 만들기

다른 클래스의 기능을 상속하는 클래스를 만들려면 자식 클래스를 만들 때 부모 클래스를 매개 변수로 보냅니다.

예시

Student클래스 에서 속성과 메서드를 상속할 이라는 클래스를 만듭니다 Person.

class Student(Person):
  pass

참고:pass 클래스에 다른 속성이나 메서드를 추가하지 않으려면 키워드를 사용하십시오 .

이제 Student 클래스는 Person 클래스와 동일한 속성 및 메서드를 갖습니다.

예시

클래스를 사용 Student하여 개체를 만든 다음 printname메서드를 실행합니다.

x = Student("Mike", "Olsen")
x.printname()


__init__() 함수 추가

지금까지 부모로부터 속성과 메서드를 상속하는 자식 클래스를 만들었습니다.

( 키워드 __init__()대신) 함수를 자식 클래스 에 추가하고 싶습니다 .pass

참고:__init__()함수는 클래스를 사용하여 새 개체를 만들 때마다 자동으로 호출됩니다.

예시

클래스 에 __init__()함수를 추가합니다 .Student

class Student(Person):
  def __init__(self, fname, lname):
    #add properties etc.

함수 를 추가하면 __init__()자식 클래스는 더 이상 부모의 __init__()기능을 상속하지 않습니다.

참고: 자식 __init__() 기능 은 부모 기능의 상속 보다 우선 __init__() 합니다 .

상위 함수 의 상속을 유지하려면 상위 __init__() 함수에 대한 호출을 추가합니다 __init__().

예시

class Student(Person):
  def __init__(self, fname, lname):
    Person.__init__(self, fname, lname)

이제 __init__() 함수를 성공적으로 추가하고 부모 클래스의 상속을 유지했으며 함수에 기능을 추가할 준비가 되었습니다 __init__().


super() 함수 사용

Python에는 또한 super()자식 클래스가 부모로부터 모든 메서드와 속성을 상속하도록 하는 함수가 있습니다.

예시

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)

super()기능을 사용하면 상위 요소의 이름을 사용할 필요가 없으며 자동으로 상위 요소의 메서드와 속성을 상속합니다.


속성 추가

예시

클래스 에 호출 graduationyear속성을 추가합니다 .Student

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)
    self.graduationyear = 2019

아래 예에서 연도 2019는 변수여야 하며 Student학생 개체를 생성할 때 클래스에 전달되어야 합니다. 그렇게 하려면 __init__() 함수에 다른 매개변수를 추가합니다.

예시

매개변수를 추가하고 year개체를 생성할 때 올바른 연도를 전달합니다.

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

x = Student("Mike", "Olsen", 2019)

메소드 추가

예시

클래스 에 호출된 메서드를 추가합니다 welcome. Student

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

  def welcome(self):
    print("Welcome", self.firstname, self.lastname, "to the class of", self.graduationyear)

부모 클래스의 함수와 이름이 같은 메서드를 자식 클래스에 추가하면 부모 메서드의 상속이 무시됩니다.


연습으로 자신을 테스트하십시오

연습:

Person이라는 클래스에서 속성과 메서드를 상속하는 Student라는 클래스를 만드는 올바른 구문은 무엇입니까?

class :