반응형
질문
파이썬에서 상수를 선언하는 방법은 무엇인가요?
자바에서는 다음과 같이 합니다:
public static final String CONST_NAME = "Name";
답변
파이썬에서는 변수나 값에 상수를 선언할 수 없습니다.
변수가 상수임을 프로그래머에게 알리기 위해, 일반적으로 대문자로 작성합니다:
CONST_NAME = "Name"
상수가 변경될 때 예외를 발생시키려면 Alex Martelli의 Constants in Python을 참조하십시오. 그러나 이것은 실제로는 일반적으로 사용되지 않습니다.
Python 3.8부터 typing.Final
변수 주석이 있으며, 이를 통해 정적 타입 검사기(예: mypy)에게 변수가 재할당되지 않아야 함을 알릴 수 있습니다. 이것은 Java의 final
에 가장 가까운 등가물입니다. 그러나 이것은 실제로 재할당을 방지하지 않습니다:
from typing import Final
a: Final[int] = 1
# 실행은 잘되지만, mypy에서 이것을 실행하면 오류가 발생합니다:
a = 2
반응형
댓글