파이썬에서 enum의 원소를 random하게 가져오는 방법을 알아보겠습니다. 먼저, Enum을 상속받은 A 클래스를 보겠습니다. 이름이 A이고 값이 1인 것, 이름이 B이고 값이 3인 것, 이름이 C이고 값이 5인 것, 이름이 D이고 값이 7인 것이 있습니다. 랜덤하게 뽑을 것이므로, choice와 같은 것이 필요한 것은 자명해 보입니다. 그런데 이것은 sequence가 필요하다고 뜹니다. 시퀀스의 대표적인 것은 list이니, enum의 데이터를 list로 변환해야겠네요. rd.choice(list(A))를 해 주면, A에 있는 item 중에 랜덤하게 하나를 뽑습니다. 이게 다입니다. 실행 결과는 A.a, A.b, A.c, A.d 중에 하나가 나옵니다. 즉, list(enum_class_name)은, e..
Enum 검색 결과
안녕하세요. enum은 보통 상수값을 선언하고, 제약하기 위해서 많이 쓰게 됩니다. 이번 시간에는 그 중에, valie 값으로 대응되는 enum member를 얻어오는 방법과 name to enum을 하는 방법을 알아보겠습니다. 상당히 많이 쓰일 듯 하니 알아두면 좋을 듯 합니다. 그 전에 몇 가지 용어를 알아볼 거에요. enum은 name과 value가 있어요. 5번째 줄을 보겠습니다. RED = "red"라고 되어 있어요. 여기서 우리는 RED를 name이라고 합니다. 그리고, 이 이름에 대응되는 값 "red"를 값이라 불러요. 8 ~ 9번째 줄은 Color.Red의 이름과 Color.Red의 value를 출력합니다. 각각 RED와 red가 출력되게 됩니다. 이 둘을 묶어놓은 것을 member라고 합..
postgres에서 enum 타입을 알아봅시다. 예를 들어, 유저 등급을 저장할 때 사용할 수 있습니다. rate_type을 저장하려고 합니다. rate에는 'bronze', 'silver', 'gold' 등이 있어요. 우리는 type enum을 생성할 건데요. 브론즈, 실버, 골드를 열거한 타입으로 생성할 겁니다. 이런 류는 등급 뿐만이 아니라 파일 타입 등을 저장할 때에도 쓰일 수 있습니다. 타입을 생성하는 CREATE TYPE 명령어를 쓸 건데요. enum으로 생성할 것이니, CREATE TYPE ~ AS ENUM ~ 구문을 써서 생성해 보겠습니다. 위 구문은, 타입 rate_type을 'bronze', 'silver', 'gold'를 열거한 타입으로 선언하는 것입니다. 이제, Data types을..
제목에도 달았다 시피, c언어에서 enum은, 의미를 명확하게 하기 위해서 쓰입니다. 저번 시간에 했었던, student를 예로 들어 봅시다. student에는, 이름과, 과목별 점수가 있었을 겁니다. 단순하게, "chogahui"라는 이름을 가지는 학생이, 과목 1번부터 과목 5번까지 몇 점을 맞았는지를 출력해 주는 함수입니다. 여기까지만 보면 그렇게 어려울 거 같지는 않습니다. 그런데, 이런 경우를 생각해 봅시다. chogahui의 Korean 점수는 몇 점이고, Math 점수, English 점수는 각각 몇 점일까요? 이걸 제 1과목, 2과목, 3과목으로 접근하기는 헷갈릴 여지가 다분합니다. 그러면 이걸 어떻게 해야 할까요? 보통, 과목은 subject_code로 불립니다. 그리고, 이 안에, KO..
최근댓글