Kezdőoldal » Számítástechnika » Programozás » Python 3.x Mi a különbség a...

Python 3.x Mi a különbség a return és print között?

Figyelt kérdés

Nagyon sok angol magyarázós videót néztem, de az az érzésem, hogy az agyam legmélyén értem, de mégsem.

Példa:


Nem működik:


def do_math(num1, num2):

return num1 + num2


do_math(2, 2)


---


Működik:


def do_math(num1, num2):

return num1 + num2


math1 = do_math(2, 2)


print(math1)

----

Ez miért van?


És ha csak simán print(do_math(2, 2)) -t használok az helyes? Mármint működik csak ez is egy hasznos megoldás?



2020. jún. 12. 17:54
1 2
 1/12 anonim ***** válasza:
100%
Az első is működik szerintem, csak ott nem iratod ki konzolra a megoldást.
2020. jún. 12. 18:01
Hasznos számodra ez a válasz?
 2/12 anonim ***** válasza:
100%
Az első példa pont ugyan az mint a második, kivéve a kiírást. Ezért nem ír ki semmit. De amúgy helyes és a jó eredmény ott van a változóban.
2020. jún. 12. 18:13
Hasznos számodra ez a válasz?
 3/12 anonim ***** válasza:
100%
Azt értsd meg, hogy a return nem ír ki semmit.
2020. jún. 12. 18:15
Hasznos számodra ez a válasz?
 4/12 Ozmium42 ***** válasza:
87%

A return-t kizárólag függvények belsejében használod. Ez kilép a függvényből egy értékkel, amivel aztán kezdhetsz valamit.


Interaktív módban előfordulhat, hogy egy függvény futása után a visszatérési érték kiíródik, de ez ne zavarjon össze. A return nem erre való.


A print maga is egy függvény (ami érdekességként None értékkel tér vissza), ezt használjuk kiírásra.

2020. jún. 12. 18:36
Hasznos számodra ez a válasz?
 5/12 A kérdező kommentje:
Köszönöm a válaszokat
2020. jún. 12. 20:28
 6/12 anonim ***** válasza:
10%

Mondom én, hogy ezzel az egyedül tanulással csak szivatjátok magatokat. Négyszer annyit "tanultok" és a végén még feleannyit sem tudtok, mint az aki iskolában képzi magát.


Ha meghívsz egy függvényt, akkor azért teszed, hogy az csináljon valamit. Mondjuk szorozzon össze két számot. Ennek a két számnak a szorzatával fog visszatérni a RETURN (mondjuk pici angol nem ártana). A PRINT meg, szintén nevéhez híven, egy NYOMTATÓ függvény, amely a paraméteréül kapott számot, szöveget kinyomtatja a képernyőre, file-ba, vagy a standard kimenetre. Ennek a függvénynek a visszatérési értéke vagy az, hogy sikerült-e a nyomtatási művelet, vagy az hogy 'none', esetleg 'void' mivel ennek a függvénynek a visszatérési értékét nem kötelező, jellemzően nem is szokás felhasználni.

2020. jún. 12. 21:44
Hasznos számodra ez a válasz?
 7/12 anonim ***** válasza:
12%
Mert az egyetemen a 200 fős előadóban pont megválaszolnák neki ezt a kérdést,... no comment. Koptasd a padot és igazold magad előtt, hogy van értelme!
2020. jún. 12. 22:09
Hasznos számodra ez a válasz?
 8/12 anonim ***** válasza:
100%

A math1 változót hagyjuk ki, és akkor ennyi a különbség két megoldás között, talán így jobban érthető:

1: do_math(2, 2)

2: print( do_math(2, 2) )

Az első esetben meghívódik a függvény, és utána nem használod semmire a visszatérési értéket. A második esetben is meghívod, csak ott kiíratod a képernyőre ezt a értéket.

A do_math függvény nem változtat meg semmilyen adatot a hívó oldalon, vagy bárhol máshol, csak a visszatérési értékben látszik a munkája, úgyhogy ha a hívó oldalon nem kezdesz vele valamit (az 1-es esetben), akkor teljesen felesleges meghívni. A 2-es esetben a do_math visszatérési értékét már felhasználod a print paramétereként.


Egy halvány gyanúra alapozva kérdezem: Ugye tudod, mi az a "függvény visszatérési értéke"?

2020. jún. 12. 22:16
Hasznos számodra ez a válasz?
 9/12 anonim ***** válasza:
100%

...És a kérdésre: a "return" adja meg a függvény kilépési pontját, ahonnan a végrehajtás visszatér a hívás helyére. Megadható vele az az érték is, amit visszaad, tehát amilyen értéket a függvényhívás, mint kifejezés felvesz majd.


Csak leegyszerűsítve, a magyarázat kedvéért, pl:

# hívás előtt:

print( do_math(2, 2) )

# hívás után, amikor a hívás helyén megjelenik a függvény visszatérő értéke:

print( 4 )


Ilyen szempontból a függvényhívás picit olyan, mint egy változó: Van típusa és értéke, az értéke pedig a függvény futásakor áll elő, a függvényen belül a return utasítással adjuk meg, és ez a függvény visszatérési értéke.

2020. jún. 12. 22:28
Hasznos számodra ez a válasz?
 10/12 anonim ***** válasza:
100%

7:


"Mert az egyetemen a 200 fős előadóban pont megválaszolnák neki ezt a kérdést"


Ha ott lenne, akkor ez az amúgy roppant buta kérdés (bocs 1.0) fel sem merült volna benne, mert az oktatási metodika tisztázná benne a fogalmakat, ergo: El sem juthatna eddig a szégyenletes pontig (bocs 2.0).

2020. jún. 12. 22:36
Hasznos számodra ez a válasz?
1 2

További 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!