First Class-funktioner i Python

First Class-funktioner i Python

I Python behandlas funktioner som förstklassiga objekt. Det betyder att de kan användas precis som nummersträngar eller vilken annan variabel som helst. Du kan:

  • Tilldela funktioner till variabler.
  • Skicka dem som argument till andra funktioner.
  • Returnera dem från funktioner.
  • Lagra dem i datastrukturer som listor eller ordböcker.

Denna förmåga låter dig skriva återanvändbar modulär och kraftfull kod.

Egenskaper hos förstklassiga funktioner

Funktioner i Python har följande viktiga egenskaper. Låt oss se dem en efter en med exempel:

1. Tilldela funktioner till variabler

Vi kan tilldela en funktion till en variabel och använd variabeln för att anropa funktionen.

Exempel:

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!  

Förklaring:

  • Funktionen msg är tilldelad variabeln f.
  • Nu kan f användas för att anropa msg som visar att funktioner beter sig som variabler.

2. Passerande funktioner som argument

Funktioner kan vara passerade som argument till andra funktioner som möjliggör högre ordningens funktioner .

Exempel:

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!  

Förklaring:

  • Funktionen fun1 tar en annan funktion (fun2) som ingång.
  • msg skickas till fun1 som sedan anropar det med 'Alex'.

3. Returnera funktioner från andra funktioner

En funktion kan returnera en annan funktion möjliggör skapandet av funktionsfabriker.

Exempel:

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!  

Förklaring:

  • Funktionen fun1 definierar en annan funktion fun2 och returnerar den.
  • func lagrar den returnerade funktionen fun2 som kan köras senare.

Funktioner kan lagras i datastrukturer som t.ex listor eller ordböcker .

Exempel:

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  

Förklaring:

  • Funktioner addera och subtrahera lagras i en ordbok.
  • De nås med sina nycklar och exekveras direkt.
Förslag på frågesport Redigera frågesport 8 frågor

Vilket av följande beskriver bäst en förstklassig funktion i programmeringsspråk?

  • A

    En funktion som bara kan anropas inom sitt eget räckvidd.

  • B

    En funktion som kan tilldelas variabler som skickas som argument och returneras från andra funktioner som vilket annat objekt som helst.

  • C

    En funktion som endast kan definieras på översta nivån i en modul.

  • D

    En funktion som bara kan köras i ett specifikt sammanhang.

Förklaring:


Vad är en högre ordningsfunktion i samband med förstklassiga funktioner?

  • A

    En funktion som bara kan returnera primitiva datatyper.

  • B

    En funktion som kan ta andra funktioner som argument eller returnera dem som resultat.

  • C

    En funktion som är definierad inom en annan funktion men som inte kan returneras.

  • D

    En funktion som körs i en separat tråd.

Förklaring:


Vad blir resultatet av följande kod?

def hälsar (namn):

returnera f'Hej {name}'


säg_hej = hälsa

print(say_hello('Geek'))

  • A

    Hej hälsa

  • B

    hälsa

  • C

    Hej Geek

  • D

    TypeError

Förklaring:

Funktioner kan tilldelas variabler. Här blir say_hello ytterligare en referens att hälsa på.

Vilket av följande är inte en egenskap hos förstklassiga funktioner?

  • A

    Funktioner kan lagras i datastrukturer

  • B

    Funktioner kan tilldelas variabler

  • C

    Funktioner kan returnera andra funktioner

  • D

    Funktioner kan bara returnera primitiva typer

Förklaring:

Förstklassiga funktioner kan returnera vilken typ som helst inklusive andra funktioner – inte begränsade till primitiver.

Vad blir resultatet av denna kod?

def yttre():

def inner():

returnera 'Inre funktion'

återvända inre

func = yttre()

print(func())

  • A

    Inre funktion

  • B

    inre

  • C

    yttre

  • D

    Fel

Förklaring:

outer() returnerar den inre funktionen och func() anropar den och returnerar sin sträng.

Vilket av följande är INTE ett kännetecken för förstklassiga funktioner?

  • A

    De kan tilldelas variabler.

  • B

    De kan skickas som argument till andra funktioner.

  • C

    De kan bara definieras en gång i ett program.

  • D

    De kan returneras från andra funktioner.

Förklaring:


Vad är resultatet av följande kod?

def make_multiplier(n):

def multiplikator(x):

returnera x * n

returmultiplikator

dubbel = make_multiplikator(2)

print(dubbel(5))

  • A

    7

  • B

    10

  • C

    25

  • D

    Fel

Förklaring:

make_multiplier(2) returnerar en funktion som multiplicerar dess argument med 2. Så double(5) returnerar 10.



Hur behandlar Python funktioner med avseende på variabler?

  • A

    Funktioner är statiska objekt

  • B

    Funktioner är konstanter och kan inte tilldelas om

  • C

    Funktioner är förstklassiga medborgare och kan lagras godkända och omtilldelas

  • D

    Funktioner måste deklareras som globala för att kunna användas

Förklaring:

Att vara förstklassiga medborgare innebär att funktioner kan tilldelas godkända och returnerade som andra objekt.

First Class-funktioner i PythonFrågesport avslutade framgångsrikt ditt resultat:   2 /8 Noggrannhet:  0 % Logga in för att se förklaring 1 /8 1 /8 < Previous Nästa >