Python magyarazat?
Valaki el tudna magyarazni ezt?
def add(x, y):
return x + y
def do_twice(func, x, y):
return func(func(x, y), func(x, y))
a = 5
b = 10
print(do_twice(add, a, b))
Az alapötlet onnan jön, hogy a memóriában nem csak adatok vannak, hanem futtatható programkód is. Abból kiindulva, hogy a processzor a memóriát címezni tudja (meg lehet tőle kérdezni, hogy mi van a memória első bájtján, mi van a másodikon és így tovább), így nem csak az adatoknak van memóriabeli címük, hanem a programkódoknak is.
Imperatív nyelvekben (pl. C, C++, C#, PHP, Python, ...) a függvények/eljárások (objektumorientált szemlélet szerint metódusok) memóriabeli címét a függvény/eljárás neve jelenti.
Innentől kezdve megtehetem azt, hogy egy változóban eltárolom a függvény/eljárás címét, és a változót, mint függvényt/eljárást meghívom:
def do_something(a, b):
.. pass
valtozo = do_something
valtozo(5, 3)
Annyi, hogy a te példádban paraméternek adtuk értékül, de ugyanaz történik.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!