Python nyelv ki érti a különbséget?
Eltudná valaki mondani nekem a print és a return közötti különbséget pythonban??
a válaszokat előre is köszönöm! :)
Valószínűleg a függvény visszatérési értékének fogalmával van a gond, illetve a függvényhívás logikájával.
Nézzük ezt: (nem csak Python, hanem általában)
a = 10 + 2*x
b = 13 + 2*y
Mondjuk, hogy a kettővel való szorzást elég sűrűn használod, és csinálsz rá egy függvényt:
dupl(i)
__return 2*i
Ez kap egy PARAMÉTERT, amit megszoroz kettővel, és VISSZAADJA a duplázott értéket a HÍVÓNAK, vagyis az eredmény ott fog megjelenni, ahol a függvény meg volt hívva. A paraméter egy változó, és az értékét a híváskor dől el. Így használhatod:
a = 10 + dupl(x)
b = 13 + dupl(y)
Vagyis az i belső (lokális) változó először x lesz, utána y, mindkettővel elvégzi a műveletet és az eredmény a függvény "helyére" kerül vissza.
Ha a return helyett printet írtál volna, akkor nem tudnád így használni, folyton kiírná az eredményt, de felhasználni nem tudnád, tehát pl. nem tudnál hozzáadni további számokat.
Nem. A return visszatér egy egyértékkel a hívóhoz. Paraméternek a funció definíciójában szereplő változó neve, pl: def myFunction(myParmeter):
Ha már itt tartunk az argument pedig a funkció hívásakor annak ténylegesen átadott érték.
Na jó, akkor vissza a kályhához. Mondjuk van egy irodaépület, ahol az igazgató különféle számításokat kér egy embertől, mondjuk Annától. Ehhez sűrűn kell egy fajta számítást végezni, mondjuk számok duplázását, de szerencsére van egy másik ember, aki azt nagyon tudja, nevezzük őt Bélának. Ő mást nem tud, de duplázni azt nagyon. Amikor Annának azt kell kiszámolnia, hogy
10 + 2*8
akkor a 10+ -nál megáll, egy cetlire felírja, hogy "dupla(8)", mert ezt kell duplázni, és elküldi Bélának ("meghívja", felszólítja munkára, és megadja, hogy milyen számmal dolgozzon). Béla megkapja a cetlit, megduplázza a rajta lévő számot, és visszaküldi (visszaadja!) Annának, hogy "16", aki így folytatja a munkát:
10 + 16
Béla a teljes számításból nem lát semmit, ő csak egyetlen számot vár, és egy másikat küld vissza. Ez így néz ki egy programban:
10 + dupla(8) // függvény hívás van a kifejezésben
...
dupla(i)
__return 2*i // vagyis a függvény a hívótól kapott számot megduplázza, és az eredményt visszaadja.
Ha a return helyett print lenne, akkor Béla az eredményt nem a hívónak (Annának) küldené, hanem az igazgatónak, aki azt sem fogja tudni, mit kezdjen vele, Anna pedig csak várja a választ Bélától.
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!