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.
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.
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.
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
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
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
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.
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
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
Az első osztályú állampolgárok azt jelenti, hogy a függvények hozzárendelhetők átadott és visszaadhatók, mint más objektumok.
A 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ő >