Python String for å enumkonvertering

Python String for å enumkonvertering

Konvertering av streng til enum i Python forbedrer kodeavlesbarheten, da enum gir en jevn måte å spesifisere et sett med relaterte verdier. Denne konverteringen gjør også koden enklere å vedlikeholde. Det hjelper også med å unngå feil eller skrivefeil. Mer spesifikt er de oppregnet konstante verdiene definert på kompileringstidspunktet, men kan ikke endres under utførelse.

Denne bloggen vil diskutere følgende tilnærminger:

  • Metode 1: Streng for å enumkonvertering i Python ved å bruke "getAtt ()" -funksjon
  • Metode 2: Streng for å enumkonvertering i Python ved å bruke “__Members__” attributt
  • Metode 3: Streng for å enumkonvertering i python ved bruk av enum -klassemetode

Metode 1: Streng for å enumkonvertering i Python ved å bruke "getAtt ()" -funksjon

I Python, “getAtt ()”Er en innebygd Python-funksjon som henter verdien av et objektattributt. Denne funksjonen godtar to argumenter. Det første argumentet representerer det valgte objektet, og det andre refererer til attributtet hvis verdi du vil få. Mer spesifikt kan denne funksjonen også konvertere en streng til enum.

Syntaks

getAtt (objekt, attr_navn)

Her, "getAtt ()”Funksjon henter verdien av det spesifiserte attributtet”attr_navn”Av det aktuelle“Gjenstand”.

Eksempel

La oss nå sjekke ut metoden for å konvertere en streng til å enum ved å bruke "getAtt ()”Funksjon. For å gjøre det, importer først "enum”Modul fra Enum -klassen:

fra enum import enum

Deretter definerer du en enumklasse som heter “Frukt”, Legg til de oppregnet konstantene, og spesifiser de tilsvarende heltallverdiene:

Klassefrukt (enum):
Apple = 3
Mango = 6
Oransje = 9

Lag en streng og lagre det oppregnet konstante navnet i den:

frukt_str = 'eple'

Påkalle “getAtt ()”Funksjon og passere“Frukt”Enum -objekt og det nyopprettede som attributtnavnet:

frukt_enum = getAttr (frukt, frukt_str)

Skriv ut den resulterende verdien på konsollen:

print (frukt_enum)

Det kan observeres fra utgangen at "Frukt.eple”Er en oppregnet konstant:

Imidlertid en "Attributt”Unntak vil bli utløst i tilfelle av passering av attributtnavnet som ikke er berettiget som enum konstant verdi:

frukt_str = 'fersken'

For å håndtere det nevnte unntaket, legg til prøve-bortfallsblokken som følger:

prøve:
frukt_enum = getAttr (frukt, frukt_str)
print (frukt_enum)
Bortsett fra attributt:
Print (F'Error: Fruit_str er ikke i listen ')

Legg til kodeblokken med "prøve”Det må utføres når enumkonstanten er funnet. For den andre saken, spesifiser de respektive uttalelsene i “unntatt”Blokk:

Metode 2: Streng for å enumkonvertering i Python ved å bruke “__Members__” attributt

Enum Python -klassen tilbyr et attributt som heter “__Members__”Som automatisk opprettes. Denne attributtet er mer som en ordbok som kartlegger det oppregnet medlemmet til de tilsvarende verdiene.

Syntaks

Gjenstand.__Members __ [attr_name]

Her, "__Members__ ”Attributt får verdien av det spesifiserte attributtet“attr_navn”Av den spesifiserte enum”Gjenstand”.

Eksempel

Å bruke “__Members__”Attributt for en streng for å enumkonvertering, for det første, lage en streng hvis verdi er den samme som den nødvendige enumkonstanten:

frukt_str = 'mango'

Spesifiser deretter følgende kode i prøve-bortsettelsesblokken til koden din:

prøve:
frukt_enum = frukt.__Members __ [Fruit_str]
print (frukt_enum)
Bortsett fra attributt:
Print (F'Error: Fruit_str er ikke i listen ')

Den første uttalelsen som er lagt til i prøveblokken prøver å få tilgang til “frukt_str”Medlem av Fruit Enum -klassen med“__Members__" Egenskap. Hvis den spesifiserte strengen blir matchet med noen av enumkonstantene, vil den tilsvarende verdien bli skrevet ut. Imidlertid, i det andre tilfellet, "unntatt”Block viser den definerte meldingen:

Metode 3: Streng for å enumkonvertering i python ved bruk av enum -klassemetode

Enum -klasse gir også en metode for å konvertere en streng til Enum i Python. For å bruke det, sjekk ut den uttalte syntaksen.

Syntaks

Enum...

Eksempel

Spesifiser den nødvendige ENUM -konstantverdien i en streng:

frukt_str = 6

Passer deretter den opprettede strengen ved hjelp av enum -klassemetoden frukt () og skriv ut utgangen på konsollen:

prøve:
frukt_enum = frukt (frukt_str)
print (frukt_enum)
Bortsett fra attributt:
Print (F'Error: Fruit_str er ikke i listen ')

Det kan observeres at det oppregnet medlemsnavnet er hentet.

Konklusjon

For å konvertere strengen til enum i Python, “getAtt ()”Funksjon,“__Members__”Attributt, eller enumklassemetoden brukes. Alle disse tilnærmingene henter den oppregnet konstanten i den spesifiserte klassen. Dessuten, i kombinasjon med de uttalte tilnærmingene, hjelper prøve-bortfallet også med å oppnå ønsket funksjonalitet. Dette innlegget dekket forskjellige metoder for strengen for å enumkonvertering i Python.