ref: 노마드코더
웹 프레임워크 - 파이썬으로 프론트에 백엔드 API 만들기 가능
https://www.djangoproject.com/
arguments
keyword arguments
positional arg : 위치
*args 를 함수에 쓰면 -> positional args infinit
튜플로 나옴
keywrod arg : 함수가 받는 키워드
**kwargs 를 쓰면 키워드 아규먼트가 엄청 많다는 뜻.
딕셔너리형태로 나옴
클래스는 청사진/설계도 같은 개념.
클래스 안에는 인스턴스가 있음. 설계도로 만든 결과물.
#기본 청사진 - 베이스가 되는 것 정해줌.
class Car():
wheels = 4
doors = 4
windwos = 4
seats = 4
#Car 클래스의 인스턴스 만들기 - instanciation
porche = Car()
print(porche.windows) #4
porch.color ="red"
#원하는 만큼 인스턴스 생성 가능
ferrari = Car()
ferraro.color = "yellow"
class Car():
wheels = 4
doors = 4
windwos = 4
seats = 4
def start(): #def start(self)
print("I started")
porche = Car()
porche.start() #에러 : start takes 0 positional arg but 1 is given -> 파이썬은 모든 함수를 하나의 argument랑 함께 사용(self) 모든 메서드의 첫 아규먼트는 메서드를 호출하는 인스턴스 자신. 그래서 메서드에는 아규먼트를 써줘야함(이름이 뭔진 상관없음. 주로 self)
dir로 Car의 모든 프로퍼티를 리스트형식으로 보면,,숨겨진 메서드를 볼수 있음. 이것들은 override 할 수 있음


init 함수에 다 넣어주면, 인스턴스로 만들 때 키워드아규먼트 줄 수 있음.
kwarg는 딕셔너리임. 딕셔너리는.get으로 (k, d)를 가져올 수 있음 (키, 디폴트:없을때 설정)

클래스 상속 inheritance or 확장 extending
기존 클래스를 가져가면서 새로운 메서드를 추가하고 싶을 때 -> 새 클래스 아규먼트 자리에 상속 받을 클래스 이름 써줌

그러면 Convertable 클래스는 extended Car 클래스 임.
Car에 있는 메서드를 convrtable에서 새롭게 정의하면 override한느거라서 car에 있는거 사용X -> super이용해서 부모클래스 호출해주기
