Python

Returner flere verdier fra en Python-funksjon

Returner flere verdier fra en Python-funksjon
Funksjonen brukes i hvilket som helst programmeringsspråk for å kjøre en bestemt kodeblokk flere ganger når det er nødvendig og organisere koden riktig. Noen ganger krever dette å lese returverdien fra funksjonen for programmeringsformål. Funksjonens returverdi er lagret i en variabel. Python-funksjoner kan returnere både enkeltverdier og flere verdier. Denne opplæringen viser hvordan flere verdier kan returneres fra Python-funksjoner med flere variabler, objekter, tupler, lister og ordbøker.

Eksempel 1: Returner flere verdier fra funksjonen ved hjelp av flere variabler

Hvis du bare vil returnere noen få variabler fra Python-funksjonen, er det bedre å definere disse variablene for å lagre flere returverdier fra flere variabler, objekter, tupler, lister og ordbøker ved hjelp av funksjonen. I dette eksemplet er tre variabler erklært i skriptet for å lagre tre returverdier. De multiVarFunc () funksjonen brukes til å ta tre inngangsverdier og returnere verdiene til variablene dept_name, total_std og total_fac.

#!/ usr / bin / env python3
# Definer funksjon for å returnere flere variabler
def multiVarFunc ():
# Ta strengdata
dept = input ("Skriv inn avdelingsnavn:")
# Ta numeriske data
stdnum = int (input ("Angi antall studenter totalt:"))
# Ta numeriske data
facnum = int (input ("Angi antall totale fakulteter:"))
# Returner flere variabler
retur dept, stdnum, facnum;
# Ring funksjonen og lagre returverdiene i tre variabler
dept_name, total_std, total_fac = multiVarFunc ()
# Skriv ut den formaterte utgangen av returverdiene
skriv ut ("\ nAvdeling:% s \ nTotale studenter:% d \ nTotale fakulteter:% d"% (avd .navn, total_std,
total_fac)

Produksjon

Tre verdier blir tatt som inngangene, og utgangsverdiene skrives ut etter formatering.

Eksempel 2: Returner flere verdier fra funksjonen ved hjelp av tuplen

Følgende skript viser hvordan du bruker en tuple for å returnere flere verdier fra en funksjon. Hvis du vil returnere mange verdier fra funksjonen, er dette et bedre alternativ. Her, den tupleFunc () funksjonen brukes til å ta fire inngangsverdier fra brukeren og returnere verdiene som en tuple til den som ringer. Returverdiene vil bli lagret i en navngitt variabel tupleVar og verdiene blir skrevet ut senere.

#!/ usr / bin / env python3
# Definer funksjon for å returnere flere variabler
def tupleFunc ():
# Ta strengdata
stdID = input ("Skriv inn student-ID:")
# Ta strengdata
stdName = input ("Skriv inn studentnavnet:")
# Ta et heltallsdata
stdBatch = int (input ("Enter the batch No:"))
# Ta flytdata
stdCGPA = float (input ("Enter the CGPA:"))
# Returner flere variabler som en tuple
retur (stdID, stdName, stdBatch, stdCGPA)
# Ring funksjonen og lagre returverdiene i en tuple
tupleVar = tupleFunc ()
# Skriv ut den formaterte utgangen på tupelen
skriv ut ("\ n ID:% s \ n Navn:% s \ n Batch:% d \ n CGPA:% 4.2f "% (tupleVar [0], tupleVar [1], tupleVar [2],
tupleVar [3]))

Produksjon

De fire inngangsverdiene tas når inngangs- og formaterte utgangsverdier skrives ut.

Eksempel 3: Returner flere verdier fra funksjonen ved hjelp av listen

Følgende skript viser hvordan du bruker en liste til å returnere flere verdier fra en funksjon. Dette er et annet alternativ for å returnere mange verdier fra en funksjon. De listFunc () funksjonen brukes i skriptet for å ta to heltall fra brukeren og beregne tillegg, subtraksjon, multiplikasjon og deling av disse tallene. Deretter returneres disse fire resultatene som en liste fra funksjonen. Listevariabelen, listVar brukes til å lagre returverdiene og skrive ut verdiene.

#!/ usr / bin / env python3
 
# Definer funksjon for å returnere flere verdier som en liste
def listFunc ():
# Ta numeriske data
number1 = float (input ("Enter any number:"))
# Ta numeriske data
number2 = float (input ("Enter any number:"))
 
tillegg = tall1 + nummer2
subtraksjon = tall1 - nummer2
multiplikasjon = tall1 * nummer2
divisjon = nummer1 / nummer2
 
# Returner flere variabler som en liste
returnere [nummer1, nummer2, tillegg, subtraksjon, multiplikasjon, divisjon]
 
# Ring funksjonen og lagre returverdiene i en tuple
listVar = listFunc ()
# Skriv ut formatert utdata fra listedataene
skriv ut ("\ n% 5.2f +% 5.2f =% 5.2f "% (listVar [0], listVar [1], listVar [2]))
skriv ut ("% 5.2f -% 5.2f =% 5.2f "% (listVar [0], listVar [1], listVar [3]))
utskrift ("% 5.2f x% 5.2f =% 5.2f "% (listVar [0], listVar [1], listVar [4]))
utskrift ("% 5.2f /% 5.2f =% 5.2f "% (listVar [0], listVar [1], listVar [5]))

Produksjon

Etter å ha tatt to tall, 67 og 23.7, vil følgende utgang vises.

Eksempel 4: Returner flere verdier fra funksjonen ved hjelp av ordboken

Følgende skript viser hvordan du bruker en ordbok for å returnere flere verdier fra en funksjon. Dette er et annet alternativ for å returnere mange verdier fra en funksjon. En ordbokobjektvariabel med navnet dictVar er erklært inne i funksjonen. Tre verdier er tilordnet variabelen og returnerer dicVar til innringeren. Deretter skrives ordbokverdiene ut.

#!/ usr / bin / env python3
# Definer funksjon for å returnere flere verdier som en ordbok
def dictFunc ():
# Erklær en ordbokvariabel
dictVar = dict ();
# Tilordne noen verdier
dictVar ['name'] = "Kelli Ali"
dictVar ['alder'] = 46
dictVar ['profession'] = 'Sanger'
# Returner ordboken som returverdier
returner dictVar
 
# Ring funksjonen og lagre returverdiene i en ordbokvariabel
dictValues ​​= dictFunc ()
# Skriv ut ordbokverdiene
print ("Verdiene til ordboken er: \ n", dictValues)

Produksjon

Følgende utdata vises etter kjøring av skriptet.

Eksempel 5: Returner flere verdier fra funksjonen ved hjelp av objektet

En klasse brukes med en funksjon for å returnere flere verdier som et objekt fra funksjonen i følgende skript. Når objFunc () funksjonssamtaler initialiserer funksjonen objektet fra Ansatte klasse og returnerer objektet til den som ringer. Deretter blir objektets eiendomsverdier skrevet ut.

#!/ usr / bin / env python3
 
# Definer klassen for å intialisere objektet
klasse Ansatte:
def __init __ (selv):
selv-.name = "Mosarof Karim"
selv-.post = "Manager"
selv-.lønn = 50000
 
# Definer funksjonen for å returnere verdier som et objekt
def objFunc ():
returnere ansatte ()
 
# Ring funksjonen for å stille inn objektvariabelen
objVar = objFunc ()
 
# Skriv ut formatert utdata
print ("\ n Ansattes navn:", objVar.navn, "\ n", "Innlegg:", objVar.innlegg, "\ n", "Lønn:",
objVar.lønn)

Produksjon

Følgende utdata vises etter kjøring av skriptet.

Konklusjon

Flere returverdier fra en funksjon kan brukes i skriptet til forskjellige formål. Denne opplæringen viste noen av de forskjellige måtene å returnere flere verdier fra en funksjon i Python.

Se forfatterens video: her

Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...
Beste kommandolinjespill for Linux
Kommandolinjen er ikke bare din største allierte når du bruker Linux, den kan også være kilden til underholdning fordi du kan bruke den til å spille m...
Beste Gamepad Mapping Apps for Linux
Hvis du liker å spille spill på Linux med en gamepad i stedet for et vanlig tastatur- og musinngangssystem, er det noen nyttige apper for deg. Mange P...