Python

Returner flere værdier fra en Python-funktion

Returner flere værdier fra en Python-funktion
Funktionen bruges på ethvert programmeringssprog til at køre en bestemt kodeblok flere gange, når det er nødvendigt og organisere koden korrekt. Nogle gange kræver dette aflæsning af returværdien fra funktionen til programmeringsformål. Funktionens returværdi er gemt i en variabel. Python-funktioner kan returnere både enkelt- og flere værdier. Denne vejledning viser, hvordan flere værdier kan returneres fra Python-funktioner med flere variabler, objekter, tupler, lister og ordbøger.

Eksempel 1: Returner flere værdier fra funktionen ved hjælp af flere variabler

Hvis du kun vil returnere et par variabler fra Python-funktionen, er det bedre at definere disse variabler for at gemme de flere returværdier fra de flere variabler, objekter, tupler, lister og ordbøger ved hjælp af funktionen. I dette eksempel erklæres tre variabler i scriptet for at gemme tre returværdier. Det multiVarFunc () funktion bruges til at tage tre inputværdier og returnere værdierne til variablerne dept_name, total_std og total_fac.

#!/ usr / bin / env python3
# Definer funktion for at returnere flere variabler
def multiVarFunc ():
# Tag strengdata
dept = input ("Indtast afdelingens navn:")
# Tag numeriske data
stdnum = int (input ("Indtast antallet af studerende i alt:"))
# Tag numeriske data
facnum = int (input ("Indtast antallet af samlede fakulteter:"))
# Returner flere variabler
tilbagevenden dept, stdnum, facnum;
# Ring til funktionen, og gem returværdierne i tre variabler
dept_name, total_std, total_fac = multiVarFunc ()
# Udskriv det formaterede output af returværdierne
print ("\ nAfdeling:% s \ nI alt studerende:% d \ nI alt fakulteter:% d"% (afdelingsnavn, total_std,
total_fac))

Produktion

Tre værdier tages som input, og outputværdierne udskrives efter formatering.

Eksempel 2: Returner flere værdier fra funktionen ved hjælp af tuplen

Det følgende script viser, hvordan man bruger en tuple til at returnere flere værdier fra en funktion. Hvis du vil returnere mange værdier fra funktionen, er dette en bedre mulighed. Her, den tupleFunc () funktion bruges til at tage fire inputværdier fra brugeren og returnere værdierne som en tuple til den, der ringer op. Returværdierne lagres i en navngivet tuplevariabel tupleVar og værdierne udskrives senere.

#!/ usr / bin / env python3
# Definer funktion for at returnere flere variabler
def tupleFunc ():
# Tag strengdata
stdID = input ("Indtast elev-id:")
# Tag strengdata
stdName = input ("Indtast studerendes navn:")
# Tag et heltalsdata
stdBatch = int (input ("Indtast batchnummer:"))
# Tag en float-data
stdCGPA = float (input ("Indtast CGPA:"))
# Returner flere variabler som en tuple
returnere (stdID, stdName, stdBatch, stdCGPA)
# Ring til funktionen, og gem returværdierne i en tuple
tupleVar = tupleFunc ()
# Udskriv det formaterede output af tuplen
print ("\ n ID:% s \ n Navn:% s \ n Batch:% d \ n CGPA:% 4.2f "% (tupleVar [0], tupleVar [1], tupleVar [2],
tupleVar [3]))

Produktion

De fire inputværdier tages som input og formaterede outputværdier udskrives derefter.

Eksempel 3: Returner flere værdier fra funktionen ved hjælp af listen

Det følgende script viser, hvordan man bruger en liste til at returnere flere værdier fra en funktion. Dette er en anden mulighed for at returnere mange værdier fra en funktion. Det listFunc () funktion bruges i scriptet til at tage to heltal fra brugeren og beregne addition, subtraktion, multiplikation og division af disse tal. Derefter returneres disse fire resultater som en liste fra funktionen. Listevariablen, listVar bruges til at gemme returværdierne og udskrive værdierne.

#!/ usr / bin / env python3
 
# Definer funktion for at returnere flere værdier som en liste
def listFunc ():
# Tag numeriske data
number1 = float (input ("Indtast et hvilket som helst nummer:"))
# Tag numeriske data
number2 = float (input ("Indtast et hvilket som helst nummer:"))
 
tilføjelse = tal1 + tal2
subtraktion = tal1 - tal2
multiplikation = antal1 * antal2
division = nummer1 / nummer2
 
# Returner flere variabler som en liste
returnere [nummer1, nummer2, addition, subtraktion, multiplikation, division]
 
# Ring til funktionen, og gem returværdierne i en tuple
listVar = listFunc ()
# Udskriv det formaterede output af listedataene
udskriv ("\ n% 5.2f +% 5.2f =% 5.2f "% (listVar [0], listVar [1], listVar [2]))
udskriv ("% 5.2f -% 5.2f =% 5.2f "% (listVar [0], listVar [1], listVar [3]))
udskriv ("% 5.2f x% 5.2f =% 5.2f "% (listVar [0], listVar [1], listVar [4]))
udskriv ("% 5.2f /% 5.2f =% 5.2f "% (listVar [0], listVar [1], listVar [5]))

Produktion

Efter at have taget to tal, 67 og 23.7 vises følgende output.

Eksempel 4: Returner flere værdier fra funktionen ved hjælp af ordbogen

Det følgende script viser, hvordan man bruger en ordbog til at returnere flere værdier fra en funktion. Dette er en anden mulighed for at returnere mange værdier fra en funktion. En variabel med ordbogobjekt med navnet dictVar er erklæret inde i funktionen. Tre værdier tildeles variablen og returnerer dicVar til den, der ringer op. Derefter udskrives ordbogens værdier.

#!/ usr / bin / env python3
# Definer funktion for at returnere flere værdier som en ordbog
def dictFunc ():
# Erklær en ordbogvariabel
dictVar = dict ();
# Tildel nogle værdier
dictVar ['name'] = "Kelli Ali"
dictVar ['alder'] = 46
dictVar ['profession'] = 'Sanger'
# Returner ordbogen som returværdier
returner dictVar
 
# Ring til funktionen, og gem returværdierne i en ordbogsvariabel
dictValues ​​= dictFunc ()
# Udskriv ordbogens værdier
print ("Værdierne i ordbogen er: \ n", dictValues)

Produktion

Følgende output vises efter kørsel af scriptet.

Eksempel 5: Returner flere værdier fra funktionen ved hjælp af objektet

En klasse bruges med en funktion til at returnere flere værdier som et objekt fra funktionen i det følgende script. Når objFunc () funktionskald, initialiserer funktionen objektet fra Medarbejdere klasse og returnerer objektet til den, der ringer op. Dernæst udskrives objektets egenskabsværdier.

#!/ usr / bin / env python3
 
# Definer klassen for at intialisere objektet
klasse medarbejdere:
def __init __ (selv):
selv.name = "Mosarof Karim"
selv.post = "Manager"
selv.løn = 50000
 
# Definer funktionen til at returnere værdier som et objekt
def objFunc ():
returnere medarbejdere ()
 
# Ring til funktionen for at indstille objektvariablen
objVar = objFunc ()
 
# Udskriv det formaterede output
print ("\ n Medarbejdernavn:", objVar.navn, "\ n", "Indlæg:", objVar.post, "\ n", "Løn:",
objVar.løn)

Produktion

Følgende output vises efter kørsel af scriptet.

Konklusion

Flere returværdier fra en funktion kan bruges i scriptet til forskellige formål. Denne vejledning viste nogle af de forskellige måder at returnere flere værdier fra en funktion i Python.

Se forfatterens video: her

Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...
Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...
Bedste apps til Gamepad Mapping til Linux
Hvis du kan lide at spille spil på Linux med en gamepad i stedet for et typisk tastatur- og musesystem, er der nogle nyttige apps til dig. Mange pc-sp...