C급 개발자와 함께하는 파이썬
8.5 열거형(Enum)
열거형이란 멤버십 테스트( in 과 not in 연산 )와 열거형의 특정 항목을 얻어올 수 있는 “인덱싱 연산”입니다.
또한 리스트, 튜플, 문자열의 세가지 열거형은 슬라이스 연산기능을 가지고 있습니다. 이것은 열거형의 일부분을 잘라낸( slice )것을 반환하는 연산, 즉 부분 집합을 반환해 주는 연산입니다.
코드를 분석해 보겠습니다.
company_list = [‘Apple’, ‘LG’, ‘Microsoft’, ‘Samsung’, ‘Google’]
name = ‘Hyundai
회사리스트를 만들었습니다.
company_list에 5개의 회사를 할당했습니다.
name 에는 Hyundai를 할당하였습니다. 아래는 열거형과 문자열이 어떻게 동작하는지 확인할 수 있습니다.
# Indexing or ‘Subscription’ operation #
print( ‘Item 0 is’, company_list[0])
print( ‘Item 1 is’, company_list[1])
print( ‘Item 2 is’, company_list[2])
print( ‘Item 3 is’, company_list[3])
print( ‘Item -1 is’, company_list[-1])
print( ‘Item -2 is’, company_list[-2])
리스트를 가져오는것과 동일한 방법으로 값을 가져오고 있는것을 확인할수 있습니다.
print( ‘Character 0 is’, name[0])
문자열도 동일한 방법으로 값을 가져올수 있습니다.
# Slicing on a list #
print( ‘Item 1 to 3 is’, company_list[1:3])
인덱스가 1보다 크거나 같고 3보다 작은 값을 가져옵니다. “LG”, “Microsoft”를 가져오고 있습니다. 여기서 주의할것은 1 : 3 마치 1, 2, 3를 가져오는것처럼 보이는데 1, 2를 가져온다는것을 참고하셔야 합니다.
print( ‘Item 2 to end is’, company_list[2:])
2부터 끝까지 값을 가져옵니다. 결과는 아래에서 확인하시기 바랍니다.
print( ‘Item 1 to -1 is’, company_list[1:-1])
이 결과는 인덱스 값이 1에서 마지막 전까지 가져오는것입니다.
print( ‘Item start to end is’, company_list[:])
이것은 마치 적지 않은것과 마찬가지로 모든 리스트를 가져오고 있습니다.
위에서는 리스트를 slicing하는 방법이 나와있습니다.
# Slicing on a string #
print( ‘characters 1 to 3 is’, name[1:3])
문자열에서 1 ~ 2 까지 가져오는 것입니다. “yu”가 출력되는것을 확인할 수 있습니다.
print( ‘characters 2 to end is’, name[2:])
문자열 2에서 끝까지 출력됩니다.
print( ‘characters 1 to -1 is’, name[1:-1])
인덱스 1 에서 마지막 전 문자열까지 출력됩니다.
print( ‘characters start to end is’, name[:])
처음에서 끝까지 모두 출력됩니다.
위에서 보면 문자열도 리스트와 동일하게 인덱스를 이용하여 문자열을 가져오는 것을 확인하였습니다.