Kezdőoldal » Számítástechnika » Programozás » Python magyarazat?

Python magyarazat?

Figyelt kérdés

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


2017. aug. 9. 15:39
 1/3 A kérdező kommentje:
Honnan jon a func?
2017. aug. 9. 15:44
 2/3 anonim ***** válasza:
100%
Az első paraméter a func, ami itt most "add".
2017. aug. 9. 15:59
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:

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.

2017. aug. 9. 20:37
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!