Mi a különbség az eljárás és a függvény között pythonban?
"Hát, az eljárás az jelenti a függvényt, metódust, procedúrát."
Pihenj le, még meg találsz izzadni.
Vannak gondok :D és a jó válaszok vannak lepontozva.
Az eljárás és a függvény programozáselméleti fogalmat, egyértelműen különböznek. Ahogy írta valaki: a függvénynek van visszatérési értéke, az eljárásnak nincs.
Az más kérdés, hogy sok programozási nyelvben nem különülnek el szigorúan.
14: Fejezd már be. Csupa értelmetlen zagyvaságot írsz.
Látszik, hogy totál hülye vagy ehhez.
Alapvetően kvázi mindenkinek igaza van.
A "hivatalos" definíció szerint a függvénynek van visszatérési értéke, az eljárásnak nincs.
A gyakorlatban viszont az egyes nyelvek terminológiája ettől eltérő lehet: a Pascal esetében a function és a procedure az itt leírtak szerint működik; a BASIC-ban szubrutinok vannak, a C nyelvben minden függvény, még a főprogram is - ráadásul az OOP nyelvekben ha ezek egy objektumhoz tartoznak, rögtön metódus lesz belőlük...
De alapvetően a visszatérési érték és az adott rutin felhasználása a mérvadó.
17: Igazad van abban, amit írtál, implementációs szinten.
De fogalmi szinten már más a kép, mert a C, amely valóban csak függvényeket ismer, annyira, hogy még a main is egy függvény, közelebbről nézve azért ismeri a void tipusú függvényeket, amelyek NEM függvények, hiszen a visszatérési értékük "kamu", azokkal kezdeni semmit nem lehet, pusztán a fordító belső szervezésének egyszerűsítése a céljuk.
És itt a pofátlanság, amikor a kakit implementációs szintről valaki áttolja a user szintjére.
Szóval, visszatérve a mondandómra, a C void tip. függvényei is procedúrák, csak függvénynek vannak nevezve.
"az assembly háttér az, hogy a registrybe nem rakunk semmit"
Csak hogy értsem, a stack-ről van szó?
"a C void tip. függvényei is procedúrák, csak függvénynek vannak nevezve"
Ez így van, ezért nem érdemes kőbe vésni az iskolai definíciókat. A kérdezőnek elég az a válasz (valaki írta korábban), hogy egy return utasítás a különbség. Amúgy pedig valóban attól függ, milyen szinten nézzük, Python nyelvi szinten, interpreter C háttere, vagy assmebly. Valamikor hajdanán még biztos volt jelentősége különbséget tenni, ma már értelmetlen vitázni rajta. :)
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!