티스토리 뷰

What I Learned

TIL_20220914_class, try except

오베르 2022. 9. 14. 21:08

오늘은 내가 배운 것을 아직 정확하게 이해하지 못하고 있다는 것에 대해서 다시금 느꼈습니다.

 

클래스 에 대해서 오늘 이해한 바를 적고 내일 다시 확인 후 추가적인 개념들을 이어서 이해하도록 해야겠습니다.

 


class 

공구함 이라고 표현하고 싶다.

함수의 모음이라는 설명도 어디서 본 것 같은데, 단순 함수의 모음을 넘어서는 사용성이 있다.

 

내가 class 라는 공구함 안에 몽키스패너 라는 함수를 만들어서 볼트를 조이게 만들어 놓았을 수도 있다.

그리고 그 공구함에는 볼트가 3개 있을 수도 있다. 

 

그러면 내가 공구함을 가지고 와서 몽키스패너로 실제 욕실에 가서 볼트를 조일수도 있다. 그리고 볼트3 개를 꺼내서 사용할 수도 있다.

 

class toolbox():
	def __init__:
    	pass
    
    def monkywrench(self, bolt):
    	print("fasten")
    	self.bolt = 3

최대한 함수로 표현해봤다.


try except else finally 

 

- try (if문 과 같이 해당 구문의 에러 발생 여부를 체크)

- except (에러 발생시 예외처리)

- else (try 에러 없을 경우에 수행 - except 없이 불가능)

- finally (try 에러 상관 없이 수행 )

 

사용 예

- try + except   

- try + except + else

- try + finally

- try + except + finally

- try + except + else + finally

 

예외처리를 하는 방법으로 에러가 나는 경우 except를 통해서 예외 처리할 수 있다.

 

무조건 적으로 사용하는 경우에 에러가 나는 곳을 찾아서 디버깅 하는 것이 힘들어지기 때문에

 

에러에 대해서 exception 으로 정의하면서 처리해나가는 방법이 추천된다고 한다.

 

else 를 사용할 경우 try 에서 에러가 나지 않고 실행될 시 else 구문으로 들어간다.

 

finally 를 사용할 경우에 try 의 에러 여부에 상관없이 finally 구문으로 들어간다.

 

 

코드 예시

>>> def divide(x, y):
...     try:
...         result = x / y
...     except ZeroDivisionError:
...         print("division by zero!")
...     else:
...         print("result is", result)
...     finally:
...         print("executing finally clause")

코드 예시 실행 시

>>> divide(2, 1)
result is 2.0
executing finally clause
>>> divide(2, 0)
division by zero!
executing finally clause
>>> divide("2", "1")
executing finally clause
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 3, in divide
TypeError: unsupported operand type(s) for /: 'str' and 'str'

 

 

출처 : 

Python 3.10.7 documentation - 8. Errors and Exceptions

개발자 지망생 - [python] 파이썬 예외처리 try, except, else, finally 사용 방법

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함