# 내장 상수

작은 개수의 상수가 내장 이름 공간에 있습니다. 그것들은:

`False`

  `bool` 형의 거짓 값. `False` 에 대입할 수 없고 `SyntaxError` 를 일으킵니다.

`True`

  `bool` 형의 참값. `True` 에 대입할 수 없고 `SyntaxError` 를 일으킵니다.

`None`

  `NoneType` 형의 유일한 값. `None` 은 기본 인자가 함수에 전달되지 않을 때처럼, 값의 부재를 나타내는 데 자주 사용됩니다. `None` 에 대입할 수 없고 `SyntaxError` 를 일으킵니다.

`NotImplemented`

  연산이 다른 형에 대해 구현되지 않았음을 나타내기 위해, 이 항 특수 메서드(예를 들어, `__eq__()`, `__lt__()`, `__add__()`, `__rsub__()` 등)가 돌려줘야 하는 특별한 값; 같은 목적으로 증분 이 항 특수 메서드(예를 들어, `__imul__()`, `__iand__()` 등)가 반환할 수 있습니다. 불리언 문맥에서 평가해서는 안됩니다.

  참고

  이 항 (또는 증분) 메서드가 `NotImplemented` 를 반환하면 인터프리터는 다른 형(또는 연산자에 따라 다른 폴백)에서 뒤집힌 연산을 시도합니다. 모든 시도가 `NotImplemented` 를 반환하면, 인터프리터는 적절한 예외를 발생시킵니다. 부정확하게 `NotImplemented` 를 반환하면 오해의 소지가 있는 에러 메시지가 나오거나 파이썬 코드에 `NotImplemented` 값이 반환됩니다.

  예는 산술 연산 구현을 보세요.

  참고

  `NotImplementedError` 와 `NotImplemented` 는 비슷한 이름과 목적이 있지만, 바꿔쓸 수 없습니다. 언제 사용하는지 자세히 알고 싶다면 `NotImplementedError`를 보세요.

  버전 3.9에서 변경: 불리언 문맥에서 `NotImplemented`를 평가하는 것은 폐지되었습니다. 현재는 참으로 평가되지만, `DeprecationWarning`를 방출합니다. 향후 버전의 파이썬에서는 `TypeError`를 발생시킬 것입니다.

`Ellipsis`

  Ellipsis 리터럴 “`...`” 와 같습니다. 주로 사용자 정의 컨테이너 데이터형에 대한 확장 슬라이스 문법과 함께 사용되는 특수 값.

`__debug__`

  이 상수는 파이썬이 `-O` 옵션으로 시작되지 않았다면 참이 됩니다. `assert` 문도 볼 필요가 있습니다.

참고

`None`, `False`, `True` 그리고 `__debug__` 은 다시 대입할 수 없습니다 (이것들을 대입하면, 설사 어트리뷰트 이름으로 사용해도, `SyntaxError` 를 일으킵니다). 그래서 이것들은 “진짜” 상수로 간주 될 수 있습니다.

## `site` 모듈에 의해 추가된 상수들

`site` 모듈(`-S` 명령행 옵션이 주어진 경우를 제외하고는, 시작할 때 자동으로 임포트 됩니다)은 내장 이름 공간에 여러 상수를 추가합니다. 대화형 인터프리터 셸에 유용하고 프로그램에서 사용해서는 안 됩니다.

`quit`(code=None)
`exit`(code=None)

  인쇄될 때, “Use quit() or Ctrl-D (i.e. EOF) to exit”과 같은 메시지를 인쇄하고, 호출될 때, 지정된 종료 코드로 `SystemExit` 를 일으키는 객체.

`copyright`
`credits`

  인쇄하거나 호출할 때, 각각 저작권 또는 크레딧 텍스트를 인쇄하는 객체입니다.

`license`

  인쇄될 때 “Type license() to see the full license text”와 같은 메시지를 인쇄하고, 호출될 때 전체 라이센스 텍스트를 페이지 생성기와 같은 방식(한 번에 한 화면씩)으로 표시하는 객체입니다.