반응형
C++, JAVA 등 다른 언어에서 const로 사용되는 기능인 상수 선언을
Python에서도 사용이 가능할까요?
아쉽게도 파이썬에서는 직접적으로 상수를 선언하는 기능을 제공하고 있지 않습니다.
대신, 값이 변하지 않는 const 기능을 간접적으로 사용할 수 있는 몇 가지 테크닉을
정리해보도록 하겠습니다.
1. 함수로 선언
상수로 사용할 값을 변수가 아니라 함수로 선언하여 값 변경을 우회하는 방법입니다.
예를 들어, pi라는 값을 3.14로 선언하기 위해서 아래와 같이 함수로 구현할 수 있습니다.
def pi():
return 3.14
선언한 값에 대하여 실제 사용 및 값 변경 시도 예시는 아래와 같습니다.
print(pi() + 2) # 5.14
pi() = 5 # SyntaxError: can't assign to function call
반응형
2. collections의 namedtuple 활용
collections 모듈의 namedtuple 메소드를 활용하면 상수를 간접적으로 선언이 가능합니다.
pi, e라는 두 개의 constant를 선언한 예시 코드는 다음과 같습니다.
이 경우에도 값 변경이 불가능한 점을 살펴볼 수 있습니다.
from collections import namedtuple
Constants = namedtuple('Constants', ['pi', 'e'])
constants = Constants(3.14, 2.718)
print(constants.pi) # 3.14
constants.pi = 5 # AttributeError: can't set attribute
출처 : https://stackoverflow.com/questions/2682745/how-do-i-create-a-constant-in-python
(더 다양한 상수 선언 방법들이 제시되어 있습니다.)
'Python > Utils' 카테고리의 다른 글
파이썬에서 yaml 파일을 읽고 쓰는 방법 (0) | 2022.11.27 |
---|---|
파이썬 소인수분해 함수 : sympy 모듈의 factorint (0) | 2022.10.10 |
파이썬 한글 또는 영문만 추출하기 / 제거하기 (0) | 2022.09.26 |