First Class-funktioner i Python
I Python behandles funktioner som førsteklasses objekter. Det betyder, at de kan bruges ligesom talstrenge eller enhver anden variabel. Du kan:
- Tildel funktioner til variabler.
- Send dem som argumenter til andre funktioner.
- Returner dem fra funktioner.
- Gem dem i datastrukturer såsom lister eller ordbøger.
Denne evne giver dig mulighed for at skrive genanvendelig modulær og kraftfuld kode.
Karakteristika for førsteklasses funktioner
Funktioner i Python har følgende vigtige egenskaber. Lad os se dem én efter én med eksempler:
1. Tildeling af funktioner til variable
Det kan vi tildele en funktion til en variabel og brug variablen til at kalde funktionen.
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' ))
Produktion
Hello Emma!
Forklaring:
- Funktionen msg er tildelt variablen f.
- Nu kan f bruges til at kalde msg, der viser, at funktioner opfører sig som variable.
2. Sende funktioner som argumenter
Funktioner kan være passeret som argumenter til at aktivere andre funktioner højere ordens funktioner .
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' ))
Produktion
Hello Alex!
Forklaring:
- Funktionen fun1 tager en anden funktion (sjov2) som input.
- msg sendes til fun1, som derefter kalder den med 'Alex'.
3. Returnere funktioner fra andre funktioner
En funktion kan returnere en anden funktion giver mulighed for oprettelse af funktionsfabrikker.
Eksempel:
Python def fun1 ( msg ): def fun2 (): return f 'Message: { msg } ' return fun2 # Getting the inner function func = fun1 ( 'Hello World!' ) print ( func ())
Produktion
Message: Hello World!
Forklaring:
- Funktionen fun1 definerer en anden funktion fun2 og returnerer den.
- func gemmer den returnerede funktion fun2, som kan udføres senere.
Funktioner kan gemmes i datastrukturer som f.eks lister eller ordbøger .
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 ))
Produktion
8 2
Forklaring:
- Funktioner addere og trække fra gemmes i en ordbog.
- De tilgås ved hjælp af deres nøgler og udføres direkte.
Hvilket af følgende beskriver bedst en førsteklasses funktion i programmeringssprog?
- EN
En funktion, der kun kan kaldes inden for sit eget område.
- B
En funktion, der kan tildeles variabler, der sendes som argumenter og returneres fra andre funktioner som ethvert andet objekt.
- C
En funktion, der kun kan defineres på øverste niveau af et modul.
- D
En funktion, der kun kan udføres i en bestemt kontekst.
Hvad er en højere-ordens funktion i forbindelse med førsteklasses funktioner?
- EN
En funktion, der kun kan returnere primitive datatyper.
- B
En funktion, der kan tage andre funktioner som argumenter eller returnere dem som resultater.
- C
En funktion, der er defineret i en anden funktion, men som ikke kan returneres.
- D
En funktion, der udføres i en separat tråd.
Hvad bliver outputtet af følgende kode?
def hilse (navn):
returner f'Hej {navn}'
sige_hej = hilse
print(say_hello('Nørd'))
- EN
Hej hilsen
- B
hilse
- C
Hej nørd
- D
Typefejl
Funktioner kan tildeles variabler. Her bliver say_hello endnu en henvisning til at hilse på.
Hvilket af følgende er ikke en egenskab ved førsteklasses funktioner?
- EN
Funktioner kan gemmes i datastrukturer
- B
Funktioner kan tildeles variabler
- C
Funktioner kan returnere andre funktioner
- D
Funktioner kan kun returnere primitive typer
Førsteklasses funktioner kan returnere enhver type inklusive andre funktioner – ikke begrænset til primitiver.
Hvad bliver outputtet af denne kode?
def ydre():
def indre():
returner 'Indre funktion'
returnere indre
func = ydre()
print(func())
- EN
Indre funktion
- B
indre
- C
ydre
- D
Fejl
outer() returnerer den indre funktion og func() kalder den og returnerer dens streng.
Hvilket af følgende er IKKE et kendetegn ved førsteklasses funktioner?
- EN
De kan tildeles variabler.
- B
De kan overføres som argumenter til andre funktioner.
- C
De kan kun defineres én gang i et program.
- D
De kan returneres fra andre funktioner.
Hvad er outputtet af følgende kode?
def make_multiplikator(n):
def multiplikator(x):
returnere x * n
returmultiplikator
double = make_multiplikator(2)
print(dobbelt(5))
- EN
7
- B
10
- C
25
- D
Fejl
make_multiplier(2) returnerer en funktion, der multiplicerer sit argument med 2. Så double(5) returnerer 10.
Hvordan behandler Python funktioner med hensyn til variabler?
- EN
Funktioner er statiske objekter
- B
Funktioner er konstanter og kan ikke gentildeles
- C
Funktioner er førsteklasses borgere og kan gemmes bestået og omfordelt
- D
Funktioner skal erklæres globale for at kunne bruges
At være førsteklasses borgere betyder, at funktioner kan tildeles bestået og returneret som andre objekter.
Quiz gennemførte med succes Din score: 2 /8 Nøjagtighed: 0 % Log ind for at se forklaring 1 /8 1 /8 < Previous Næste >