[파이썬 거북이반] #4 class심화

2022. 9. 22. 00:11스파르타코딩클럽[AI트랙 3기]/파이썬 거북이반

==1교시==

1.특수메소드는 __가 포함됨.

 

메소드에 return값 없으면 함수 실행하고 프린트해도 none이 나옴.(프린트없이 함수만 실행하면 아무일도 안일어남.)

 

print(myCar.speed)

mtCar.drive()

print(myCar.speed)

해주면

60

 

스트링으로 바꿔주기

def __str__ (sef):

return f“{self.color}색의 {self.model} 모델의 차

str은 자동호출아니고 printstr할때만 호출됨.

 

 

2.상속

부모클래스 / 자식클래스

자동차 / suv, 스포츠카 등

자식클래스는 부모클래스의 속성을 다 갖고 있음. 거기에 더해서 자식클래스만의 특성으로 나눠짐.

받는방법 : class Van(Car) 하면 VanCar의 자식이 됨.

 

 

==2교시==

class Van(Car):

def __intit__(self, owner):

super().__init__(owner) #부모클래스의 인잇을 실시하고 인자값을 넣어주는 것

 

부모 init

자식 init

super 리면 처음에 밴 시작할 때 밴출력하고 슈퍼로 넘어가면 바로 부모인잇으로 넘어가서 찍힌다음에 다시 밴으로 넘어옴.

 

def close_door(self):

self.backdoor =“close”

순서가 중요함.

super을 쓰면 일시적으로 부모클래스의 인스턴스가 만들어지는데 그 값을 가져오는 것

부모클래스에있는거 자식이 가져올수 있고 자식은 바꿔먹을 수 있다

 

부모클래스에서 굳이 만들지 않아도 될 경우

추상클래스로 클래스에 대한명세를 해야함.

 

특수함수

srt

len

del : init의 반대. 없어질 때 실행되는 메소드