Grunnleggende syntaks og bruk
Syntaksen til funksjoner som er tilgjengelige i operatørmodulen er ganske rett frem. Du kaller en spesifikk funksjon som returnerer et resultat etter å ha evaluert argumenter som er levert til den. Nedenfor er et eksempel som viser matematiske beregninger som gjøres ved hjelp av forskjellige funksjoner som er tilgjengelige i operatørmodulen.
ImportoperatørDen første uttalelsen importerer operatørmodulen. Neste forskjellige funksjoner som er tilgjengelige i operatørmodulen som “Legg til”, “Sub”, “Mul” og “TrueDiv”, blir kalt og to tall leveres til dem argumenter slik at matematiske operasjoner kan kjøres på dem. Etter å ha kjørt ovennevnte kodeprøve, bør du få følgende utdata:
11Koden over tilsvarer følgende utsagn i Python:
Tillegg = 5 + 6I den første kodeprøven, i stedet for å bruke operatørskilt eller symboler, kaller du funksjoner for å gjøre de samme beregningene. Operatørmodulen inneholder mange andre slike verktøyfunksjoner. Nedenfor er et eksempel som gjør sammenligninger mellom to tall.
ImportoperatørI kodeprøven ovenfor kalles forskjellige funksjoner som “EQ”, “LT”, “LE”, “NE”, “GT” og “GE” for å bestemme likhet eller ulikhet til to tall levert som argumenter til disse funksjonene. Etter å ha kjørt ovennevnte kodeprøve, bør du få følgende utdata:
FalskDenne kodeprøven tilsvarer følgende utsagn:
lik = 5 == 6Liste over nyttige funksjoner som er tilgjengelige i operatørmodulen
Nedenfor er en tabell som viser noen av de nyttige funksjonene som er tilgjengelige i operatørmodulen og deres tilsvarende utsagn. Denne tabellen er hentet fra offisiell Python -dokumentasjon for operatørmodulen.
Operasjon / beregningstype | Kallbar funksjon | Tilsvarende syntaks |
---|---|---|
Addisjon | Legg til (a, b) | a + b |
Sammenkobling | Concat (SEQ1, SEQ2) | SEQ1 + SEQ2 |
Inneslutningstest | Inneholder (SEQ, OBJ) | obj i seq |
Inndeling | trueediv (a, b) | a / b |
Inndeling | Floordiv (A, B) | a // b |
Bitvis og | og_ (a, b) | A & B |
Bitvis eksklusiv eller | xor (a, b) | a ^ b |
Bitvis inversjon | inverter (a) | ~ a |
Bitvis eller | eller_ (a, b) | a | b |
Eksponentiering | POW (A, B) | a ** b |
Identitet | er_ (a, b) | a er b |
Identitet | is_not (a, b) | a er ikke b |
Indeksert oppgave | setItem (obj, k, v) | obj [k] = v |
Indeksert sletting | DelItem (obj, k) | del obj [k] |
Indeksering | getItem (obj, k) | obj [k] |
Venstre shift | lshift (a, b) | en < |
Modulo | mod (a, b) | a % b |
Multiplikasjon | mul (a, b) | a * b |
Matriksmultiplikasjon | Matmul (a, b) | a @ b |
Negasjon (aritmetikk) | neg (a) | - en |
Negasjon (logisk) | ikke_ (a) | ikke en |
Positivt | pos (a) | + en |
Høyre skift | rshift (a, b) | a >> b |
Skiveoppgave | setItem (seq, skive (i, j), verdier) | Seq [i: j] = verdier |
Skive sletting | DelItem (seq, skive (i, j)) | del seq [i: j] |
Skiver | getItem (seq, skive (i, j)) | SEQ [I: J] |
Strengformatering | Mod (S, OBJ) | s % obj |
Subtraksjon | sub (a, b) | a - b |
Sannhetstest | sannhet (obj) | obj |
Bestilling | LT (A, B) | en |
Bestilling | le (a, b) | en <= b |
Likestilling | Eq (a, b) | a == b |
Forskjell | ne (a, b) | en != b |
Bestilling | ge (a, b) | a> = b |
Bestilling | gt (a, b) | a> b |
Du kan henvise til denne tabellen for å finne en passende operatørfunksjon som er egnet for dine programmeringskrav.
Inplace operatørfunksjoner
Operatørmodulen inkluderer også et begrenset sett med funksjoner som kan utføre beregninger "på stedet". Dette gjøres ved å endre selve objektet ved å gi det som et argument til en operatørfunksjon. Slike funksjonsnavn er prefiks med "jeg" -tegnet. For eksempel, for å endre et objekt på stedet og legge til noe i det, må du bruke "IADD" -funksjon tilgjengelig i operatørmodulen. Disse funksjonene er spesielt nyttige for mutable objekter som python -ordbøker og lister. Nedenfor er en kodeeksempel:
ImportoperatørHer har funksjonen “IADD” blitt brukt til å sammenkoble to listetypeobjekter i Python. Listen som vil bli endret på stedet, leveres som det første argumentet, etterfulgt av listen som skal sammenføyes. Etter å ha kjørt ovennevnte kodeprøve, bør du få følgende utdata:
[1, 2, 3, 4, 5, 6, 7, 8]Full liste over funksjoner som er tilgjengelige i operatørmodulen, finner du her.
Bruke ItemGetter -funksjonen
Du kan bruke "itemGetter" -funksjonen som er tilgjengelig i operatørmodulen for å velge elementer fra en liste. Nedenfor er et grunnleggende eksempel:
ImportoperatørItemGetter -metoden får et element etter indeksen, og den er spesielt nyttig for å plukke opp flere elementer på en gang. Den andre uttalelsen viser bruken av ItemGetter -funksjonen der indekser for to elementer leveres som argumenter. ItemGetter -funksjonen returnerer et kallbart objekt, som deretter kalles ved å gi den en Python -liste som et argument. Sluttresultatet av den andre og tredje uttalelsen er det samme. Etter å ha kjørt ovennevnte kodeprøve, bør du få følgende utdata:
('B', 'C')De flere lenket samtalene til ItemGetter -funksjonen kan også skrives som følger:
ImportoperatørItemGetter -funksjonen kan også brukes som en nøkkel når du sorterer en nestet liste som inneholder andre lister eller tuples. Her er et eksempel:
ImportoperatørDet "nøkkel" -argumentet i sorteringsfunksjonen tar et kallbart objekt. Dette kallbare objektet kjøres på hvert element på listen før du gjør noen sammenligninger for sorteringsformål. Ved å levere den kallbare ItemGetter -funksjonen som nøkkelen, forteller du sorteringsfunksjonen å hente et element på “1” -indeks fra hver nestede liste og bruke den til sammenligningsformål. Etter å ha kjørt ovennevnte kodeprøve, bør du få følgende utdata:
[['C', 1], ['A', 2], ['B', 4], ['D', 5]]Konklusjon
Operatørmodulen bringer ikke noe nytt på tabellen, ettersom den bruker operatørsymboler under for å utføre beregninger. Du kan godt skrive enkle utsagn ved hjelp av operatørsymboler. Imidlertid er de nyttige i scenarier der du vil programmatisk utføre beregninger ved å kalle opp funksjoner, passere slike kallbare funksjoner som argumenter og erstatte Lambda -utsagn med noe enklere.