728x90
- 객체 지향(용어 및 구체적인 이미지)
용어 | 구체적인 이미지 |
클래스(정의) | 자동차 설계도 |
생성자(함수) | 자동차 공장 |
멤버(변수) | 휘발유의 양, 현재속도 등 |
메서드(함수) | 브레이크, 엑셀, 핸들 등 |
인스턴스(실체) | 공장에서 만들어진 실제 자동차 |
1. 생성자( constructor ) : 클래스를 만들 때 자동으로 호출되는 특수 함수.
→ 파이썬에서 생성자의 이름은 반드시 __init__(self)
2. 메서드( method ) : 클래스가 갖는 처리, 즉 함수.
3. 멤버( member ) : 클래스가 가지는 값, 즉 변수. → private / public 으로 나뉜다.
Example.
class MyProduct:
def __init__(self, name, price, stock):
self.name = name
self.price = price
self.stock = stock
self.sales = 0
def summary(self):
message = "called summary().\n name: " + self.get_name() + \
"\n price: " + str(self.price) + \
"\n stock: " + str(self.stock) + \
"\n sales: " + str(self.sales)
print(message)
def get_name(self):
return self.name
def discount(self):
self.price -= n
class MyProductSalesTax(MyProduct):
#MyProductSalesTax는 생성자의 네 번째 인수가 소비세율을 받습니다.
def __init__(self, name, price, stock, tax_rate):
#super()를 사용하면 부모 클래스의 메서드를 호출할 수 있습니다.
#여기에서는 MyProduct 클래스의 생성자를 호출합니다.
super().__init__(name, price, stock)
self.tax_rate = tax_rate
#MyProductSalesTax에서 MyProduct의 get_name을 재정의(오버라이드)합니다.
def get_name(self):
return self.name + "(소비세 포함)"
#MyProductSalesTax에 get_price_with_tax를 새로 구현합니다.
def get_price_with_tax(self):
return int(self.price * (1 + self.tax_rate))
#MyProduct의 summary()메서드를 재정의 하고 summary가 소비세를 포함한 가격을 출력하도록 만드세요.
def summary(self):
message = "called summary().\n name: " + self.get_name() + \
"\n price: " + str(self.price) + \
"\n stock: " + str(self.stock) + \
"\n sales: " + str(self.sales)
print(message)
product_3 = MyProductSalesTax("phone", 30000,100,0.1)
print(product_3.get_name())
print(product_3.get_price_with_tax())
product_3.summary()
phone(소비세 포함)
33000
called summary().
name:phone(소비세 포함)
price:33000
stock:100
sales:0
728x90
반응형
'Deep Learning > Natural Language Processing' 카테고리의 다른 글
Document Classification (vector space model) (0) | 2022.03.25 |
---|---|
[python] 3D 그래프 (0) | 2022.02.10 |
[python] 데이터 시각화_matplotlib (0) | 2022.02.10 |
[python]Pandas (0) | 2022.02.09 |
[python]Numpy (0) | 2022.02.09 |