Returner flere værdier fra en Python -funktion

Return Multiple Values From Python Function



Funktionen bruges i ethvert programmeringssprog til at køre en bestemt blok blok flere gange, når det er nødvendigt og organisere koden korrekt. Nogle gange kræver dette at læse returværdien fra funktionen til programmeringsformål. Funktionens returværdi gemmes i en variabel. Python -funktioner kan returnere både enkeltværdier 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 nogle få variabler fra Python -funktionen, er det bedre at definere disse variabler for at gemme 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
defmultiVarFunc():
# Tag en string data
afd= input('Indtast afdelingsnavn:')
# Tag en numerisk data
stdnum= int(input('Indtast antallet af studerende i alt:'))
# Tag en numerisk data
facnum= int(input('Indtast antallet af samlede fakulteter:'))
# Returner flere variabler
Vend tilbageafd,stdnum,facnum;

# Ring til funktionen, og gem returværdierne i tre variabler
afd. navn,total_std,total_fac=multiVarFunc()
# Udskriv det formaterede output af returværdierne
Print(' nAfdeling:%s nStuderende i alt:%d nFakulteter i alt:%d '%(afd. navn,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

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, så er dette en bedre mulighed. Her er 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 gemmes i en tuplevariabel, der hedder tupleVar og værdierne udskrives senere.

#!/usr/bin/env python3

# Definer funktion for at returnere flere variabler
deftupleFunc():
# Tag en string data
stdID= input('Indtast elev -id:')
# Tag en string data
stdName= input('Indtast elevens navn:')
# Tag et heltal data
stdBatch= int(input('Indtast batchnummer:'))
# Tag en float -data
stdCGPA= flyde(input('Indtast CGPA:'))
# Returner flere variabler som en tupel
Vend tilbage (stdID,stdName,stdBatch,stdCGPA)

# Ring til funktionen, og gem returværdierne i en tupel
tupleVar=tupleFunc()
# Udskriv det formaterede output fra tuplen
Print(' nID:%s nNavn:%s nBatch:%d nCGPA: %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

Følgende script viser, hvordan du 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
deflistFunc():
# Tag en numerisk data
nummer 1= flyde(input('Indtast et vilkårligt nummer:'))
# Tag en numerisk data
nummer 2= flyde(input('Indtast et vilkårligt nummer:'))

tilføjelse=nummer1 + nummer2
subtraktion=nummer1 - nummer2
multiplikation=nummer1 * nummer2
division=nummer1 / nummer2

# Returner flere variabler som en liste
Vend tilbage [nummer 1,nummer 2,tilføjelse,subtraktion,multiplikation,division]

# Ring til funktionen, og gem returværdierne i en tupel
listVar=listFunc()
# Udskriv det formaterede output af listen data
Print(' n%5.2f + %5.2f = %5.2f '%(listVar[0],listVar[1],listVar[2]))
Print(' %5.2f - %5.2f = %5.2f'%(listVar[0],listVar[1],listVar[3]))
Print(' %5.2f x %5.2f = %5.2f'%(listVar[0],listVar[1],listVar[4]))
Print(' %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

Følgende script viser, hvordan du 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 en ordbogsobjekt navngivet dictVar erklæres 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
defdictFunc():
# Deklarér en ordbogsvariabel
dictVar= dikt();
# Tildel nogle værdier
dictVar['navn'] = 'Kelli Ali'
dictVar['alder'] = 46
dictVar['erhverv'] = 'Sanger'
# Returner ordbogen som returværdier
Vend tilbagedictVar

# Ring til funktionen, og gem returværdierne i en ordbogsvariabel
dictValues=dictFunc()
# Udskriv ordbogens værdier
Print('Ordbogens værdier er: n',dictValues)

Produktion

Følgende output vises efter at scriptet er kørt.

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

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. Derefter udskrives egenskabets værdier for objektet.

#!/usr/bin/env python3

# Definer klassen til at initialisere objektet
klasseMedarbejdere:
def __i det__(selv):
selv.navn = 'Mosarof Karim'
selv.stolpe = 'Manager'
selv.løn = 50.000

# Definer funktionen til at returnere værdier som et objekt
defobjFunc():
Vend tilbageMedarbejdere()

# Ring til funktionen for at indstille objektvariablen
objVar=objFunc()

# Udskriv det formaterede output
Print(' nAnsattes navn:',objVar.navn,' n','Stolpe:',objVar.stolpe,' n','Løn:',
objVar.løn)

Produktion

Følgende output vises efter at scriptet er kørt.

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