[다중상속] 여러개의 클래스를 상속 받을 수도 있습니다. class Car01 : def drive(self): print('drive() method called!!') class Car02 : def turbo(self): print('turbo boost up!') class Car03 : def fly(self): print('fly to the moon!') class Car(Car01,Car02,Car03): def __init__(self): pass mycar = Car() mycar.drive() mycar.turbo() mycar.fly() ''' drive() method called!! turbo boost up! fly to the moon! ''' mycar은 운전도 되고, 부스..
분류 전체보기
[생성자] 객체가 생성될 때 생성자를 호출하면 __init__()이 자동 호출 된다. 실습을 통해 이를 직접 눈으로 확인하도록 하자. class Calculator : def __init__(self): print('계산기에 __init__ 메소드가 호출되었습니다.') cal = Calculator() ''' 계산기에 __init__ 메소드가 호출되었습니다. ''' 생성자 Calculator을 호출하자 __init__()이 자동 호출 됐음을 볼 수 있다. __init__()가 속성을 초기화 한다. class Calculator : def __init__(self,n1,n2): print('계산기에 __init__ 메소드가 호출되었습니다.') self.num1 = n1 # 매개 변수를 받아서 값을 초기화했..
[상속] 클래스는 또 다른 클래스를 상속해서 내 것처럼 사용할 수 있다. 일반차와 그보다 발전된 터보차 예시를 보자. (__init__은 편의상 생략했다.) class NormalCar: def drive(self): print('전진한다.') def back(self): print('후진한다.') class TurboCar(NormalCar): #터보 자동차는 일반 자동차의 기능을 다 쓸 수 있다. def turbo(self) : print('터보모드!!!'코딩 ''' 터보차는 다음의 기능이 있습니다. 터보모드!!! 전진한다. 후진한다. ''' 터보차에서 더 발전된 날라다니는 차가 있다고 하자. 일반 차를 상속 받은 터보 차를 상속 받으면, 하늘을 나는 차는 일반 차의 기능과 터보차의 기능 모두 쓸 수..
[얕은 복사] 파이썬 자체 함수인 id() 를 통해서 메모리의 id를 확인하여 깊은 복사를 했는지 얕은 복사를 했는지 구별할 수 있다. scores = [9,8,5,7,6,10] # 얕은 복사 scoresCopy = scores print(f'id(scores):{id(scores)}') #id는 메모리에 할당된 값을 찍어보는 것 print(f'id(scoresCopy):{id(scoresCopy)}') print() ''' id(scores):1342407589568 id(scoresCopy):1342407589568 ''' [깊은 복사1] 리스트 함수 append()를 통해 요소 값 만을 복사해오는 방식으로 깊은 복사를 할 수 있다. #깊은 복사1 scoresCopy1 = [] for s in sco..