Рубрики

enum в Python

Перечисления в Python реализуются с помощью модуля enum. Перечисления создаются с использованием классов . У перечислений есть имена и значения, связанные с ними.

Свойства перечисления:

1. Перечисления могут отображаться в виде строки или repr .

2. Перечисления могут быть проверены на их типы с помощью type () .

3. Ключевое слово « name » используется для отображения имени члена перечисления.

# Python-код для демонстрации перечислений

  
# импорт enum для перечислений

import enum

  
# создание перечислений с использованием класса

class Animal(enum.Enum):

    dog = 1

    cat = 2

    lion = 3

  
# печать члена перечисления в виде строки

print ("The string representation of enum member is : ",end="")

print (Animal.dog)

  
# печать элемента enum как repr

print ("The repr representation of enum member is : ",end="")

print (repr(Animal.dog))

  
# печать типа члена перечисления с использованием type ()

print ("The type of enum member is : ",end ="")

print (type(Animal.dog))

  
# печать имени члена enum с использованием ключевого слова name

print ("The name of enum member is : ",end ="")

print (Animal.dog.name)

Выход :

The string representation of enum member is : Animal.dog
The repr representation of enum member is : <Animal.dog: 1>
The type of enum member is : <enum 'Animal'>
The name of enum member is : dog

4. Перечисления являются повторяемыми . Их можно повторять с помощью циклов

5. Перечисления поддерживают хеширование . Перечисления могут использоваться в словарях или наборах .

# Python-код для демонстрации перечислений
# итерации и хеширование
# импорт enum для перечислений

import enum

  
# создание перечислений с использованием класса

class Animal(enum.Enum):

    dog = 1

    cat = 2

    lion = 3

  
# печать всех членов перечисления с использованием цикла

print ("All the enum values are : ")

for Anim in (Animal):

    print(Anim)

  
# Хеширование члена enum как словаря

di = {}

di[Animal.dog] = 'bark'

di[Animal.lion] = 'roar'

  
# проверка успешности хеширования значений перечисления

if di=={Animal.dog : 'bark',Animal.lion : 'roar'}:

      print ("Enum is hashed")

else: print ("Enum is not hashed")

Выход :

All the enum values are : 
Animal.dog
Animal.cat
Animal.lion
Enum is hashed

Доступ к режимам: доступ к элементам Enum возможен двумя способами

1. По значению : — В этом методе передается значение члена перечисления.

2. По имени : — В этом методе передается имя члена перечисления.

Отдельное значение или имя также можно получить с помощью ключевого слова « имя » или « значение ».

Сравнение: перечисления поддерживают два типа сравнений

1. Идентичность : — Они проверяются с использованием ключевых слов « есть » и « нет ».

2. Равенство : — Поддерживаются сравнения на равенство типов « == » и « ! = ».

# Python-код для демонстрации перечислений
# Доступ и сравнение

  
# импорт enum для перечислений

import enum

  
# создание перечислений с использованием класса

class Animal(enum.Enum):

    dog = 1

    cat = 2

    lion = 3

  
# Доступ к элементу enum с использованием значения

print ("The enum member associated with value 2 is : ",end="")

print (Animal(2))

  
# Доступ к элементу enum по имени

print ("The enum member associated with name lion is : ",end="")

print (Animal['lion'])

  
# Назначение члена enum

mem = Animal.dog

  
# Отображение значения

print ("The value associated with dog is : ",end="")

print (mem.value)

  
# Отображение имени

print ("The name associated with dog is : ",end="")

print (mem.name)

  
# Сравнение с использованием "is"

if Animal.dog is Animal.cat:

       print ("Dog and cat are same animals")

else : print ("Dog and cat are different animals"

  
# Сравнение с использованием "! ="

if Animal.lion != Animal.cat:

       print ("Lions and cat are different")

else : print ("Lions and cat are same")

Выход :

The enum member associated with value 2 is : Animal.cat
The enum member associated with name lion is : Animal.lion
The value associated with dog is : 1
The name associated with dog is : dog
Dog and cat are different animals
Lions and cat are different

Эта статья предоставлена Манджитом Сингхом . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

enum в Python

0.00 (0%) 0 votes