First Class-funktioner i Python

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.
Foreslået quiz Rediger quiz 8 spørgsmål

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.

Forklaring:


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.

Forklaring:


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

Forklaring:

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

Forklaring:

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

Forklaring:

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.

Forklaring:


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

Forklaring:

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

Forklaring:

At være førsteklasses borgere betyder, at funktioner kan tildeles bestået og returneret som andre objekter.

First Class-funktioner i PythonQuiz gennemførte med succes Din score:   2 /8 Nøjagtighed:  0 % Log ind for at se forklaring 1 /8 1 /8 < Previous Næste >