Código: enum.Enum (Enumerações)
This commit is contained in:
30
aula157.py
30
aula157.py
@@ -14,12 +14,30 @@
|
|||||||
# membro = Classe(valor), Classe['chave']
|
# membro = Classe(valor), Classe['chave']
|
||||||
# chave = Classe.chave.name
|
# chave = Classe.chave.name
|
||||||
# valor = Classe.chave.value
|
# valor = Classe.chave.value
|
||||||
|
import enum
|
||||||
|
|
||||||
def mover(direcao):
|
# Direcoes = enum.Enum('Direcoes', ['ESQUERDA', 'DIREITA'])
|
||||||
print(f'Movendo para {direcao}')
|
|
||||||
|
|
||||||
|
|
||||||
mover('esquerda')
|
class Direcoes(enum.Enum):
|
||||||
mover('direita')
|
ESQUERDA = enum.auto()
|
||||||
mover('acima')
|
DIREITA = enum.auto()
|
||||||
mover('abaixo')
|
ACIMA = enum.auto()
|
||||||
|
ABAIXO = enum.auto()
|
||||||
|
|
||||||
|
|
||||||
|
print(Direcoes(1), Direcoes['ESQUERDA'], Direcoes.ESQUERDA)
|
||||||
|
print(Direcoes(1).name, Direcoes.ESQUERDA.value)
|
||||||
|
|
||||||
|
|
||||||
|
def mover(direcao: Direcoes):
|
||||||
|
if not isinstance(direcao, Direcoes):
|
||||||
|
raise ValueError('Direção não encontrada')
|
||||||
|
|
||||||
|
print(f'Movendo para {direcao.name} ({direcao.value})')
|
||||||
|
|
||||||
|
|
||||||
|
mover(Direcoes.ESQUERDA)
|
||||||
|
mover(Direcoes.DIREITA)
|
||||||
|
mover(Direcoes.ACIMA)
|
||||||
|
mover(Direcoes.ABAIXO)
|
||||||
|
|||||||
Reference in New Issue
Block a user