Python

Python Yield vs. Vend tilbage

Python Yield vs. Vend tilbage

Python er det almindeligt anvendte programmeringssprog i nyere tid. Udbyttet er et indbygget Python-nøgleord, der bruges til at oprette generatorfunktionerne. Dens funktion genererer en række resultater. Det sætter programmets gennemførelse på pause, sender resultatværdien tilbage til den, der ringer op, og genoptager udførelsen fra det sidste udbytte. Derudover sender udbyttefunktionen den genererede række af resultater i form af et generatorobjekt. På den anden side er returneringen også et indbygget nøgleord i Python, der afslutter funktionen og sender værdien tilbage til den, der ringer op.

Denne artikel skitserer forskellene mellem afkast og afkast med eksempler.

Forskelle mellem afkast og retur

Til at begynde med er der mange fremtrædende forskelle mellem afkast og afkast. Lad os først diskutere, hvad der er disse.

Vend tilbage Udbytte
Retursætningen returnerer kun en enkelt værdi til den, der ringer op. Udbytteopgørelsen kan returnere en række resultater til den, der ringer op, i form af et generatorobjekt.
Returen afslutter funktionen, og i tilfælde af en sløjfe afviser den sløjfen. Det er den sidste erklæring, der placeres inde i funktionen. Det afskaffer ikke funktionens lokale variabler. Det suspenderer udførelsen og sender værdien tilbage til den, der ringer op, og fortsætter udførelsen af ​​programmet fra den sidste udbytteopgørelse.
Logisk set skal en funktion kun have en returerklæring. Der kan være mere end en udbytteopgørelse inde i funktionen.
Returnerklæringen kan kun køre én gang. Renteopgørelsen kan køre flere gange.
Retursætningen placeres i en almindelig Python-funktion. Udbyttesætningen konverterer en regelmæssig funktion til en generatorfunktion.

Eksempel 1: Retur vs. Udbytte

Lad os nu se forskellen mellem afkast- og afkastudtalelser gennem eksempler. I eksempelprogrammet nedenfor har vi brugt flere retursætninger. Du kan se, at eksekveringen af ​​programmet afsluttes efter den første returneringserklæring, og resten af ​​koden udføres ikke.

# et program til at vise funktionen af ​​returopgørelsen

#definerer en talvariabel

num1 = 10
#definerer en talvariabel

num2 = 20
#oprette en funktion til at udføre aritmetiske operationer

def mathOP ():
#beregner sumværdien

returnere num1 + num2
#beregner forskellen

returnere num1-num2
#beregner multiplikationsværdien

returnere num1 * num2
#beregner divisionsværdien

returnere num1 / num2
#opkald til funktionen

udskriv (mathOP ())

Produktion

I output kan det ses, at funktionen kun returnerer den første værdi, og programmet afsluttes.

For at udføre en lignende opgave med flere retursætninger er vi nødt til at oprette fire forskellige funktioner til hver type aritmetisk operation.

# et program til at vise funktionen af ​​returopgørelsen

#definerer en talvariabel

num1 = 10
#definerer en talvariabel

num2 = 20
#oprette en funktion til at udføre aritmetiske operationer

def sumOP ():
#beregner sumværdien

returnere num1 + num2
def subtraherer OP ():
#beregner forskellen

returnere num1-num2
def multiplikationOP ():
#beregner multiplikationsværdien

returnere num1 * num2
def divisionOP ():
#beregner divisionsværdien

returnere num1 / num2
# kalder sumfunktionen

print ("Summen er:", sumOP ())
# kalder subtraktionsfunktionen

print ("Forskellen er:", subtraherer OP ())
# kalder multiplikationsfunktionen

print ("Multiplikationsværdien er:", multiplicationOP ())
# kalder opdelingsfunktionen

print ("Opdelingsværdien er:", divisionOP ())

Produktion

Vi kan udføre disse flere aritmetiske operationer i en enkelt generatorfunktion med flere udsagn.

# et program til at vise funktionen af ​​udbytteopgørelse

#definerer en talvariabel

num1 = 10
#definerer en talvariabel

num2 = 20
#oprette en funktion til at udføre aritmetiske operationer

def mathOP ():
#beregner sumværdien

udbytte num1 + num2
#beregner forskellen

udbytte num1-num2
#beregner multiplikationsværdien

udbytte num1 * num2
#beregner divisionsværdien

udbytte num1 / num2
#opkald til funktionen

print ("Udskrivning af værdier:")
# bruger for loop for at få adgang til værdierne fra generatorobjektet

for jeg i mathOP ():
udskrive (i)

Produktion

Eksempel 2: Retur vs. Udbytte

Lad os se et andet eksempel på afkast- og afkastopgørelser. I det givne eksempel har vi en liste over tal, der sendes til mod () -funktionen som et argument. Vi udfører modulusoperationen på hvert nummer på listen og kontrollerer, hvad der er disse tal, divideret med 10 returnerer nul som en restværdi.

Lad os først implementere dette eksempel i vores Python-script med return statement.

#definerer en liste med tal

myList = [10,20,25,30,35,40,50]
#definerer en funktion til at udføre modulusoperationen

def mod (myList):
for jeg i myList:
#performing modulus operation

hvis (i% 10 == 0):
returnere i
print (mod (myList))

Produktion

Retursætningen returnerer kun det første nummer til den, der ringer op, og afslutter udførelsen af ​​funktionen.

Lad os nu implementere det samme eksempel i vores Python-script med udbytteerklæringen.

#definerer en liste med tal

myList = [10,20,25,30,35,40,50]
#definerer en funktion til at udføre modulusoperationen

def mod (myList):
for jeg i myList:
#performing modulus operation

hvis (i% 10 == 0):
# udbytteopgørelsen

udbytte i
for jeg i mod (myList):
udskrive (i)

Produktion

Konklusion

Afslutningsvis er afkastet og udbyttet to indbyggede Python-nøgleord eller udsagn. Retursætningen bruges til at returnere værdien til den, der ringer op fra en funktion og afslutter udførelsen af ​​programmet, medens udbyttesætningen producerer et generatorobjekt og kan returnere de flere værdier til den, der ringer op uden at afslutte udførelsen af ​​programmet. Denne artikel viser alle de fremtrædende forskelle mellem afkast- og afkastopgørelser med eksempler.

OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...
SuperTuxKart til Linux
SuperTuxKart er en fantastisk titel designet til at give dig Mario Kart-oplevelsen gratis på dit Linux-system. Det er ret udfordrende og sjovt at spil...
Kæmp om Wesnoth-vejledning
Slaget om Wesnoth er et af de mest populære open source-strategispil, som du kan spille på dette tidspunkt. Ikke kun har dette spil været under udvikl...