day27>classTest.py
#p.283,292
#28강 상속 예제, 예외 처리
# %% inheritance test2
class Car:
def __init__(self, brand, color, price):
self.brand = brand
self.color = color
self.price = price
def engineStart(self):
print(self.brand+"열쇠로 시동 킴")
def engineStop(self):
print(self.brand+"열쇠로 시동 끔")
class SuperCar(Car):
def __init__(self, brand, color, price, mode):
super().__init__(brand, color, price)
self.mode = mode
#Overriding
def engineStart(self):
print(self.brand+"음성으로 시동 킴")
def openRoof(self):
print("지붕 열림")
def closeRoof(self):
print("지붕 닫힘")
ferrari = SuperCar("ferrari","red",35000,"daliy")
ferrari.engineStart()
ferrari.engineStop()
ferrari.openRoof()
ferrari.closeRoof()
# %% class variable
class A :
seq = 0
def __init__(self):
A.seq += 1
self.num = A.seq
def test(self):
self.seq = 10
obj1 = A()
obj2 = A()
obj3 = A()
obj4 = A()
obj1.test()
print(obj1.num)
print(obj1.seq)
print(obj2.num)
print(obj3.num)
#day28.txt
#예외 처리
# 에러:심각한 오류
# 예외:덜 심각한 오류
#
#try :
# 오류가 발생할 수 있는 문장
#except 오류 이름 as 객체 : //as : alias 별칭
# 오류 발생 시 실행할 문장
#
#모든 예외 클래스의 부모 클래스는 Exception이다.
#어떤 오류든지 상관없이 except로 처리할 때에는
#"오류이름" 자리에 예외의 최상위 부모인 exception을 작성한다.
# tryTest.py
# %% exception test
try:
int(input("정수 입력: "))
except Exception as e:
print("정수만 입력하세요")
print("반드시 실행되어야 할 문장")
try:
print(10/0)
except ZeroDivisionError as e:
# print(e.__str__)
print("0으로 나눌 수 없습니다.")
'코리아 IT아카데미 > python 인터넷 강의' 카테고리의 다른 글
ddazua | 교안 (0) | 2021.10.04 |
---|---|
ddazua | 29강 사용자 예외 처리, 파일 입출력 (0) | 2021.10.04 |
ddazua | 27강 상속 (0) | 2021.10.04 |
ddazua | 26강 클래스 예제 (0) | 2021.10.04 |
ddazua | 25강 클래스 이론 (0) | 2021.10.04 |