본문 바로가기
Python

[Py] assert 구문 (statement)

by ds31x 2024. 9. 24.
디버깅에서 assert는
프로그램의 특정 조건이 참인지 확인하는 데
사용되는 statement(구문).

 

assert

  • 주어진 조건이 참(True)일 때는 아무런 영향을 미치지 않지만,
  • 조건이 거짓(False)일 경우 프로그램을 중단하고 AssertionError를 발생시킴.

assert의 주요 목적은
코드 실행 중 특정 조건이 반드시 충족되어야 함을 확인하는 것.

이를 통해 디버깅 단계에서 잠재적인 오류나 논리적 문제를 빠르게 발견할 수 있음.


기본 구문

assert 조건, "에러 메시지"
  • 조건: True 인지 False 인지를 평가하는 논리식.
  • "에러 메시지": 선택 사항이며, AssertionError가 발생할 때 출력되는 메시지.

예시

def divide(a, b):
    assert b != 0, "b는 0일 수 없습니다."
    return a / b

print(divide(10, 2))  # 정상 출력
print(divide(10, 0))  # AssertionError 발생

위 코드에서

  • b != 0False 일 때,
  • b가 0일 경우 AssertionError가 발생하며
  • "b는 0일 수 없습니다."라는 메시지가 출력됨.

사용 시 유의점

  1. 디버깅 도구:
  • assert는 주로 디버깅 시에 사용되며,
  • 프로그램 배포 시에는 assert가 비활성화될 수 있습니다.

Python에서는 -O(optimize) 플래그를 사용하여
최적화된 코드로 실행하면 assert가 제거됨.

  1. 에러 처리용으로는 부적합:
  • assert는 디버깅 도구일 뿐, 정상적인 에러 처리 흐름을 대신하지는 않음.
  • 예상 가능한 오류 상황에 대해서는 try-except 구문을 사용해야 함.

결론

따라서 assert

  1. 코드의 신뢰성을 검증하고
  2. 디버깅을 돕는 도구로 사용되며,
  3. 코드의 논리적인 전제 조건이 충족되는지 확인할 때 사용됨.

같이 읽어보면 좋은 자료들

2023.10.06 - [분류 전체보기] - [Python] Python 정리

 

[Python] Python 정리

Programming Language and Python 소개2023.10.23 - [Python] - [Python] Programming Language and Introduction of Python. [Python] Programming Language and Introduction of Python.Computer and Program https://dsaint31.tistory.com/436 [CE] Computer and Progra

ds31x.tistory.com

https://dsaint31.tistory.com/526

 

[Python] Exception 처리

1. Exception 발생 시 기본 동작Python에서 무엇인가가 잘못된 경우, python interpreter는 exception을 발생시킴.Exception : 동작을 중단시키는 에러를 가르킴.Exception handling : Exception 처리라고도 불리며, 발생

dsaint31.tistory.com

 


 

728x90

'Python' 카테고리의 다른 글

[Py] Debug: Error and Exception.  (1) 2024.09.25
[Py] Debugging: pdb and ipdb  (0) 2024.09.25
[CV] cv2.calibrateCamera  (1) 2024.09.22
[Etc] SW Version: Semantic Versioning + package.version  (0) 2024.09.19
[Summary] NumPy(Numerical Python)  (1) 2024.09.12