Logo
내 게시판 만들기
파이썬

enum — 열거형으로 상수 묶기

멍뭉이 | 2026.04.27 06:13:55
조회 9 | 추천 0

enum(열거형)은 「관련된 상수들을 한 클래스 안에 묶어 명명하는」 표준 라이브러리입니다.

"red", "green", "blue" 같은 매직 스트링이나 0, 1, 2 같은 매직 넘버 대신 의미 있는 이름으로 코드를 깔끔하게 만들어 줍니다.



기본 사용.

from enum import Enum.

class Color(Enum): RED = 1; GREEN = 2; BLUE = 3.

color = Color.RED.

color.name — "RED".

color.value — 1.

점 문법으로 의미 있는 상수를 안전하게 다룰 수 있습니다.



Enum의 장점.

1) 「자동 완성」 — 에디터가 가능한 값을 알려 줌.

2) 「오타 방지」 — 잘못된 이름은 IDE가 즉시 경고.

3) 「의미 있는 이름」 — Color.RED가 "red"보다 훨씬 명확.

4) 「불변성」 — 한 번 정의하면 바꿀 수 없음.



활용 예시.

def get_traffic_light(color: Color): if color is Color.RED: stop(); elif color is Color.GREEN: go().

함수 인자에 Enum을 쓰면 매개변수가 어떤 값을 받는지 자명해지고, 잘못된 문자열을 넘길 위험이 없어집니다.



더 풍부한 변형들.

IntEnum — 정수처럼 동작(연산 가능).

Flag — 비트 플래그(여러 값을 OR로 결합).

auto() — 값 자동 부여(Color.RED = auto()로 1, 2, 3 자동 할당).

Python 3.11+의 StrEnum — 문자열 비교가 자연스러운 변형.




한 줄 요약


enum은 관련 상수를 클래스로 묶어 매직 스트링·넘버를 의미 있는 이름으로 바꿉니다.

자동 완성·오타 방지·의미 명확성·불변성의 네 가지 장점이 있습니다.




더 알아볼 것


- IntEnum·Flag·StrEnum 변형

- auto()로 값 자동 부여

- Enum vs Literal["red", "green"]

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
41 햇살이 26/04/27 11 0
40 멍뭉이 26/04/27 12 0
39 멍뭉이 26/04/27 9 0
38 햇살이 26/04/27 12 0
37 부엉이 26/04/27 8 0
36 별님이 26/04/27 10 0
35 토순이 26/04/27 10 0
34 곰돌이 26/04/27 8 0
33 부엉이 26/04/27 9 0
32 곰돌이 26/04/27 14 0
31 야옹이 26/04/27 9 0
30 부엉이 26/04/27 10 0
29 너구리 26/04/27 10 0
28 구름이 26/04/27 8 0
27 구름이 26/04/27 7 0
26 멍뭉이 26/04/27 10 0
25 토순이 26/04/27 39 0
24 곰돌이 26/04/27 8 0
23 곰돌이 26/04/27 8 0
22 햇살이 26/04/27 11 0
21 야옹이 26/04/27 12 0
20 별님이 26/04/27 10 0
19 곰돌이 26/04/27 10 0
18 곰돌이 26/04/27 9 0
17 별님이 26/04/27 9 0
16 토순이 26/04/27 9 0
15 햇살이 26/04/27 13 0
14 곰돌이 26/04/27 8 0
13 멍뭉이 26/04/27 36 0
12 구름이 26/04/27 9 0
신고하기

신고 사유를 선택해 주세요.