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
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 enumDeretter definerer du en enumklasse som heter “Frukt”, Legg til de oppregnet konstantene, og spesifiser de tilsvarende heltallverdiene:
Klassefrukt (enum):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: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: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 = 6Passer deretter den opprettede strengen ved hjelp av enum -klassemetoden frukt () og skriv ut utgangen på konsollen:
prøve: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.