Posts Python Assert Statement 정리
Post
Cancel

Python Assert Statement 정리

해당 글은 https://docs.python.org/3/reference/simple_stmts.html#assert를 참고하여 정리한 노트입니다.


1. Basic

assert 함수는 거의 모든 프로그래밍 언어에 존재한다.
디버깅 모드에서 개발자가 오류가 생기면 치명적일 것이라는 곳에 심어 놓은 에러 검출용 코드
즉, 프로그램에 debugging assertions를 삽입하기 위한 방법임

  • 디버깅 모드, 릴리즈 모드
    • 디버깅 모드 = 컴파일할 때 디버깅 정보를 삽입하여 디버깅을 할 수 있도록 하는 컴파일 모드
    • 릴리즈 모드 = 디버깅 정보 없이, 순수한 코드 자체의 기능만 사용하는 컴파일 모드
    • 당연히, debug mode가 더 큰 메모리를 사용





2. Implementation


simple form

1
assert expression

is equivalent to the following

1
2
if __debug__:
    if not expression: raise AssertionError


extended from

1
assert expression1, expression2

is equivalent to the following

1
2
if __debug__:
    if not expression1: raise AssertionError(expression2)





3 Extra


python__debug__란?

  • python의 Built-in Constants
    • Built-in Constants 예시 : False, True
  • https://docs.python.org/3/library/constants.html
    • python -O option일 경우, _debug__ = False (Command line option)
    • 즉, assert statements를 제거하는 효과를 뜻함
Updated Jun 21, 2020 2020-06-21T23:25:50+09:00
This post is licensed under CC BY 4.0