class father(): # 부모 클래스
def __init__(self, who):
self.who = who
def handsome(self):
print("{}를 닮아 잘생겼다".format(self.who))
class sister(father): # 자식클래스(부모클래스) 아빠매소드를 상속받겠다
def __init__(self, who, where):
super().__init__(who)
self.where = where
def choice(self):
print("{} 말이야".format(self.where))
def handsome(self):
super().handsome()
self.choice()
girl = sister("아빠", "얼굴")
girl.handsome()
출처: https://rednooby.tistory.com/56
드디어 상속해서 class를 구성해보았다. 진짜 너무 편하다는 것을 이제서야 알았다.
줄 code 작성
우선 줄 code 작성하면 장점이 있긴하다.
- 생각나는대로 주욱 쓰면 된다.
하지만 단점이 워낙 많다.
- debugging이 굉장히 힘들다. (줄 code니까 내가 어디서 틀렸는지 모른다.)
- 함수를 재사용 하지 못한다.
- 함수를 main code에 구성하더라도 함수들을 묶어서 보관하기 어렵기 때문에, 함수 및 클래스 관리가 어렵다.
- 등등 너무너무 많아....
class 구성
- 따라서 우리는 class를 구성하여 내가 자주 쓰고자 하는 함수 및 class를 재사용하고자 한다.
- 또한 좀 더 함수들을 체계적으로 관리하기 위해 class를 구성 및 상속을 한다.
상속할 때 신경써야 할 점
- 생성자가 꼬이지 않게, 최대한 생성자가 없는 Basic 한 class을 만들어둔다.
- Basic Class에서는 재사용 가능한 함수들을 최대한 많이 넣는다.
- 용도별로 Basic Class를 나눠둔다.
- Main Class 에서는 생성자를 한 번에 적어주어 생성자가 꼬이지 않도록 한다.
'대학원 공부 > programming language' 카테고리의 다른 글
Python : @property, @function.setter (0) | 2020.05.04 |
---|---|
Python : raise (0) | 2020.04.21 |
Python : Crawling : requests vs urllib.parse & request (0) | 2020.04.21 |
Python : Selenium의 Webdriver (0) | 2020.04.21 |
Numpy : np.linalg.svd (SVD) (0) | 2020.03.12 |
댓글