Első osztályú funkciók a Pythonban

Első osztályú funkciók a Pythonban

A Pythonban a függvényeket első osztályú objektumként kezeli. Ez azt jelenti, hogy ugyanúgy használhatók, mint a számsorok vagy bármely más változó. A következőket teheti:

  • Függvények hozzárendelése a változókhoz.
  • Adja át őket argumentumként más függvényeknek.
  • Állítsa vissza őket a függvényekből.
  • Tárolja őket adatstruktúrákban, például listákban vagy szótárakban.

Ez a képesség lehetővé teszi, hogy újrafelhasználható moduláris és hatékony kódot írjon.

Az első osztályú funkciók jellemzői

A Python függvényei a következő fontos jellemzőkkel rendelkeznek. Lássuk őket egyenként példákkal:

1. Funkciók hozzárendelése változókhoz

Megtehetjük függvényt rendelni egy változóhoz és használja a változót a függvény meghívására.

Példa:

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'  ))   

Kimenet
Hello Emma!  

Magyarázat:

  • Az msg függvény az f változóhoz van rendelve.
  • Most az f használható msg meghívására, amely megmutatja, hogy a függvények változóként viselkednek.

2. Függvények átadása argumentumként

A funkciók lehetnek érvként ment át más funkciókhoz, amelyek lehetővé teszik magasabb rendű funkciókat .

Példa:

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'  ))   

Kimenet
Hello Alex!  

Magyarázat:

  • A fun1 függvény egy másik függvényt (fun2) vesz be bemenetként.
  • Az msg-t átadja a fun1-nek, amely az „Alex”-szel hívja meg.

3. Funkciók visszaadása más függvényekből

Egy függvény képes visszaad egy másik függvényt funkciógyárak létrehozását teszi lehetővé.

Példa:

Python
   def   fun1  (  msg  ):   def   fun2  ():   return   f  'Message:   {  msg  }  '   return   fun2   # Getting the inner function   func   =   fun1  (  'Hello World!'  )   print  (  func  ())   

Kimenet
Message: Hello World!  

Magyarázat:

  • A fun1 függvény meghatároz egy másik fun2 függvényt, és visszaadja azt.
  • A func a visszaadott fun2 függvényt tárolja, amely később végrehajtható.

A függvények olyan adatstruktúrákban tárolhatók, mint pl listákon vagy szótárak .

Példa:

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  ))   

Kimenet
8 2  

Magyarázat:

  • Az összeadás és kivonás függvények egy szótárban vannak tárolva.
  • Ezek a kulcsaikkal érhetők el, és közvetlenül végrehajthatók.
Javasolt kvíz Kvíz szerkesztése 8 Kérdések

Az alábbiak közül melyik ír le legjobban egy első osztályú függvényt a programozási nyelvekben?

  • A

    Olyan függvény, amely csak a saját hatóköréből hívható meg.

  • B

    Olyan függvény, amely argumentumként átadott és más függvényekből visszaadott változókhoz rendelhető, mint bármely más objektum.

  • C

    Olyan függvény, amely csak a modul legfelső szintjén definiálható.

  • D

    Olyan függvény, amely csak meghatározott környezetben hajtható végre.

Magyarázat:


Az első osztályú függvényekkel összefüggésben mi a magasabb rendű függvény?

  • A

    Olyan függvény, amely csak primitív adattípusokat tud visszaadni.

  • B

    Olyan függvény, amely más függvényeket is felvehet argumentumként, vagy eredményként visszaadhatja azokat.

  • C

    Olyan függvény, amely egy másik függvényen belül van definiálva, de nem adható vissza.

  • D

    Egy külön szálban végrehajtott függvény.

Magyarázat:


Mi lesz a következő kód kimenete?

def üdv(név):

viszonzás: Hello {name}


say_hello = köszönt

print(say_hello('Geek'))

  • A

    Hello üdv

  • B

    köszönt

  • C

    Szia Geek

  • D

    TypeError

Magyarázat:

A függvények változókhoz rendelhetők. Itt a say_hello egy újabb hivatkozás a köszöntésre.

Az alábbiak közül melyik nem az első osztályú függvények tulajdonsága?

  • A

    A függvények adatstruktúrákban tárolhatók

  • B

    A függvények változókhoz rendelhetők

  • C

    A függvények más függvényeket is visszaadhatnak

  • D

    A függvények csak primitív típusokat adhatnak vissza

Magyarázat:

Az első osztályú függvények bármilyen típust visszaadhatnak, beleértve az egyéb függvényeket is – nem korlátozva a primitívekre.

Mi lesz ennek a kódnak a kimenete?

def külső():

def inner():

visszatér a "belső függvény"

vissza belső

func = külső()

print(func())

  • A

    Belső funkció

  • B

    belső

  • C

    külső

  • D

    Hiba

Magyarázat:

Az outer() visszaadja a belső függvényt, a func() pedig meghívja visszaadva a karakterláncát.

Az alábbiak közül melyik NEM jellemző az első osztályú függvényekre?

  • A

    Változókhoz rendelhetők.

  • B

    Argumentumként átadhatók más függvényeknek.

  • C

    Egy programban csak egyszer definiálhatók.

  • D

    Más függvényekből visszaadhatók.

Magyarázat:


Mi a következő kód kimenete?

def make_multiplier(n):

def szorzó(x):

vissza x * n

visszatérési szorzó

double = make_multiplier(2)

nyomtatás (dupla (5))

  • A

    7

  • B

    10

  • C

    25

  • D

    Hiba

Magyarázat:

A make_multiplier(2) olyan függvényt ad vissza, amely megszorozza az argumentumát 2-vel. Tehát a double(5) 10-et ad vissza.



Hogyan kezeli a Python a függvényeket a változók tekintetében?

  • A

    A függvények statikus objektumok

  • B

    A függvények állandók, és nem rendelhetők hozzá újra

  • C

    A funkciók első osztályú állampolgárok, és átadott és átrendelhetőek

  • D

    A függvények használatához globálisnak kell lenniük

Magyarázat:

Az első osztályú állampolgárok azt jelenti, hogy a függvények hozzárendelhetők átadott és visszaadhatók, mint más objektumok.

Első osztályú funkciók a PythonbanA kvíz sikeresen kitöltött pontszáma:   2 /8 Pontosság:  0% Jelentkezzen be a magyarázat megtekintéséhez 1 /8 1 /8 < Previous Következő >

Lehet, Hogy Tetszeni Fog