728x90
반응형
Constant
파이썬에서는 일반적으로 "상수(constant)"라는 개념이 변수와는 조금 다르게 다루어집니다. 다른 언어들에서는 상수를 지정하여 값이 변하지 않도록 할 수 있지만, 파이썬은 기본적으로 변수를 변경 불가능하도록 강제하지는 않습니다.
하지만, 파이썬에서 상수를 나타내기 위해 관습적으로 다음과 같은 방법을 사용합니다:
- 대문자 표기: 상수로 사용하려는 변수 이름을 모두 대문자로 작성합니다. 예를 들어, PI = 3.14159와 같이 합니다. 대문자로 된 변수는 상수처럼 다뤄야 한다는 암묵적인 규칙이 있습니다.
- PI = 3.14159 GRAVITY = 9.81
- 명시적 _constant: 때때로 라이브러리나 모듈에서 _constant라는 이름을 붙여서 상수처럼 사용할 수 있습니다. 이는 주로 모듈 수준에서 상수처럼 사용되는 값임을 나타내기 위한 것입니다. 그러나, 이러한 명명 규칙도 역시 관습일 뿐, 실제로 값을 변경할 수 없는 것은 아닙니다.
- _CONSTANT_VALUE = "This is a constant"
파이썬에는 변수의 값을 변경할 수 없도록 강제하는 const 키워드가 존재하지 않으며, 위의 방법들은 모두 개발자가 상수로 간주하고 코딩하는 방법입니다.
주의사항: 개발자들이 이 관습을 따라 상수를 변경하지 않도록 해야 합니다. 예를 들어, PI = 3.14라고 선언했더라도, 실제로 코드 내에서 PI = 3.15로 변경할 수 있습니다. 그러나 이런 변경은 프로그램의 안정성에 영향을 미칠 수 있으므로, 상수는 변경하지 않는 것이 좋습니다.
임의로 const 기능 만들기
class _constant:
def __setattr__(self, key, value):
if key in self.__dict__:
raise Exception("변수에 값을 할당할 수 없습니다.")
self.__dict__[key] = value
def __delattr__(self, item):
if item in self.__dict__:
raise Exception("변수를 삭제할 수 없습니다.")
# python 의 sys객체에 _constant 클래스를 등록함으로 static 하게 사용 가능함
import sys
sys.modules[__name__] = _constant()
import common.constant as const
const.PI = 3.14
print(const.PI)
# 에러 발생 , 재할당 불가능
const.PI = 3.141592
print(const.PI)
# 아래 코드가 없는 경우, 덮어씌어짐
import sys
sys.modules[__name__] = _constant()
#--------------------------------------------
# PI = 3.14
import common.constant as const
const.PI = 3.14
print(const.PI)
# PI = 3.141592
const.PI = 3.141592
print(const.PI)
728x90
반응형
'PROGRAMING📚 > Python📑' 카테고리의 다른 글
[Python]Variable[ 자료형 ] (0) | 2024.11.13 |
---|---|
thinter-데이터 불러오기 (0) | 2024.11.12 |
[Python]Python-Gramma- Print (0) | 2024.11.11 |
[파이썬 Python] Gabor Filters(가보르 필터) 이미지 적용하기 (0) | 2023.02.14 |
파이썬(Phython) 파일 읽고 쓰기 (0) | 2022.04.14 |
댓글