logo

Milloin Pythonissa käytetään tuottoa palautuksen sijaan?

Tuottolauseke keskeyttää funktion suorittamisen ja lähettää arvon takaisin kutsujalle, mutta säilyttää tarpeeksi tilaa, jotta toiminto voi jatkaa siitä mihin se jäi. Kun toiminto jatkuu, se jatkaa suoritusta välittömästi viimeisen tuottoajon jälkeen. Tämä sallii sen koodin tuottaa sarjan arvoja ajan kuluessa sen sijaan, että se laskeisi ne kerralla ja lähettäisi ne takaisin luettelon muodossa.

Katsotaanpa esimerkillä:



Python






# A Simple Python program to demonstrate working> # of yield> # A generator function that yields 1 for the first time,> # 2 second time and 3 third time> def> simpleGeneratorFun():> >yield> 1> >yield> 2> >yield> 3> # Driver code to check above generator function> for> value>in> simpleGeneratorFun():> >print>(value)>



>

>

Lähtö:

1 2 3>

Palata lähettää tietyn arvon takaisin soittajalleen, kun taas Tuotto voi tuottaa arvosarjan. Meidän tulisi käyttää tuottoa, kun haluamme iteroida sekvenssiä, mutta emme halua tallentaa koko sekvenssiä muistiin. Tuottoa käytetään Pythonissa generaattorit . Generaattorifunktio määritellään aivan kuten normaali funktio, mutta aina kun sen on luotava arvo, se tekee sen tuotto-avainsanalla eikä return. Jos def:n runko sisältää tuoton, funktiosta tulee automaattisesti generaattorifunktio.

Python


kuinka muuntaa merkkijono kokonaisluvuksi javassa



# A Python program to generate squares from 1> # to 100 using yield and therefore generator> # An infinite generator function that prints> # next square number. It starts with 1> def> nextSquare():> >i>=> 1> ># An Infinite loop to generate squares> >while> True>:> >yield> i>*>i> >i>+>=> 1> # Next execution resumes> ># from this point> # Driver code to test above generator> # function> for> num>in> nextSquare():> >if> num>>>:> >break> >print>(num)>

>

>

Lähtö:

1 4 9 16 25 36 49 64 81 100>