First Class-funksjoner i Python
I Python behandles funksjoner som førsteklasses objekter. Dette betyr at de kan brukes akkurat som tallstrenger eller en hvilken som helst annen variabel. Du kan:
- Tilordne funksjoner til variabler.
- Send dem som argumenter til andre funksjoner.
- Returner dem fra funksjoner.
- Lagre dem i datastrukturer som lister eller ordbøker.
Denne evnen lar deg skrive gjenbrukbar modulær og kraftig kode.
Kjennetegn ved førsteklasses funksjoner
Funksjoner i Python har følgende viktige egenskaper. La oss se dem én etter én med eksempler:
1. Tilordne funksjoner til variabler
Vi kan tilordne en funksjon til en variabel og bruk variabelen til å kalle funksjonen.
Eksempel:
Python def msg ( name ): return f 'Hello { name } !' # Assigning the function to a variable f = msg # Calling the function using the variable print ( f ( 'Emma' ))
Produksjon
Hello Emma!
Forklaring:
- Funksjonen msg er tilordnet variabelen f.
- Nå kan f brukes til å kalle msg som viser at funksjoner oppfører seg som variabler.
2. Sende funksjoner som argumenter
Funksjoner kan være vedtatt som argumenter til andre funksjoner som aktiverer høyere ordens funksjoner .
Eksempel:
Python def msg ( name ): return f 'Hello { name } !' def fun1 ( fun2 name ): return fun2 ( name ) # Passing the msg function as an argument print ( fun1 ( msg 'Alex' ))
Produksjon
Hello Alex!
Forklaring:
- Funksjonen fun1 tar en annen funksjon (fun2) som input.
- melding sendes til fun1 som deretter kaller den med 'Alex'.
3. Returnere funksjoner fra andre funksjoner
En funksjon kan returnere en annen funksjon muliggjør etablering av funksjonsfabrikker.
Eksempel:
Python def fun1 ( msg ): def fun2 (): return f 'Message: { msg } ' return fun2 # Getting the inner function func = fun1 ( 'Hello World!' ) print ( func ())
Produksjon
Message: Hello World!
Forklaring:
- Funksjonen moro1 definerer en annen funksjon moro2 og returnerer den.
- func lagrer den returnerte funksjonen fun2 som kan utføres senere.
Funksjoner kan lagres i datastrukturer som lister eller ordbøker .
Eksempel:
Python def add ( x y ): return x + y def subtract ( x y ): return x - y # Storing functions in a dictionary d = { 'add' : add 'subtract' : subtract } # Calling functions from the dictionary print ( d [ 'add' ]( 5 3 )) print ( d [ 'subtract' ]( 5 3 ))
Produksjon
8 2
Forklaring:
- Funksjoner addere og trekke fra lagres i en ordbok.
- De nås ved hjelp av nøklene og utføres direkte.
Hvilket av følgende beskriver best en førsteklasses funksjon i programmeringsspråk?
- EN
En funksjon som bare kan kalles fra sitt eget omfang.
- B
En funksjon som kan tilordnes variabler som sendes som argumenter og returneres fra andre funksjoner som alle andre objekter.
- C
En funksjon som kun kan defineres på øverste nivå i en modul.
- D
En funksjon som bare kan utføres i en bestemt kontekst.
Hva er en høyere-ordens funksjon i sammenheng med førsteklasses funksjoner?
- EN
En funksjon som bare kan returnere primitive datatyper.
- B
En funksjon som kan ta andre funksjoner som argumenter eller returnere dem som resultater.
- C
En funksjon som er definert i en annen funksjon, men som ikke kan returneres.
- D
En funksjon som kjøres i en egen tråd.
Hva blir resultatet av følgende kode?
def hilse(navn):
returner f'Hei {navn}'
si_hei = hilse
print(say_hello('Geek'))
- EN
Hei hilsen
- B
hilse
- C
Hei Geek
- D
TypeError
Funksjoner kan tilordnes variabler. Her blir say_hallo en annen referanse å hilse på.
Hvilket av følgende er ikke en egenskap ved førsteklasses funksjoner?
- EN
Funksjoner kan lagres i datastrukturer
- B
Funksjoner kan tilordnes variabler
- C
Funksjoner kan returnere andre funksjoner
- D
Funksjoner kan bare returnere primitive typer
Førsteklasses funksjoner kan returnere alle typer, inkludert andre funksjoner – ikke begrenset til primitiver.
Hva blir resultatet av denne koden?
def ytre():
def indre():
returner 'Indre funksjon'
returnere indre
func = ytre()
print(func())
- EN
Indre funksjon
- B
indre
- C
ytre
- D
Feil
ytre() returnerer den indre funksjonen og func() kaller den og returnerer strengen.
Hvilket av følgende er IKKE et kjennetegn ved førsteklasses funksjoner?
- EN
De kan tilordnes variabler.
- B
De kan sendes som argumenter til andre funksjoner.
- C
De kan bare defineres én gang i et program.
- D
De kan returneres fra andre funksjoner.
Hva er resultatet av følgende kode?
def make_multiplikator(n):
def multiplikator(x):
returner x * n
returmultiplikator
double = make_multiplikator(2)
print(dobbel(5))
- EN
7
- B
10
- C
25
- D
Feil
make_multiplier(2) returnerer en funksjon som multipliserer argumentet med 2. Så double(5) returnerer 10.
Hvordan behandler Python funksjoner med hensyn til variabler?
- EN
Funksjoner er statiske objekter
- B
Funksjoner er konstanter og kan ikke tilordnes på nytt
- C
Funksjoner er førsteklasses borgere og kan lagres bestått og omdisponert
- D
Funksjoner må erklæres globale for å kunne brukes
Å være førsteklasses borgere betyr at funksjoner kan tildeles bestått og returnert som andre objekter.
Quiz fullførte poengsummen din: 2 /8 Nøyaktighet: 0 % Logg inn for å se forklaring 1 /8 1 /8 < Previous Neste >