Returner flere verdier fra en Python -funksjon

Return Multiple Values From Python Function



Funksjonen brukes i et 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. Returverdien for funksjonen lagres i en variabel. Python -funksjoner kan returnere både enkelt- 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 å bruke 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 som bruker funksjonen. I dette eksemplet deklareres tre variabler i skriptet for å lagre tre returverdier. De multiVarFunc () funksjonen brukes til å ta tre inngangsverdier og returnere verdiene til variablene avd_navn, total_std og total_fac .







#!/usr/bin/env python3

# Definer funksjon for å returnere flere variabler
defmultiVarFunc():
# Ta en strengdata
gjeld= input('Skriv inn avdelingsnavn:')
# Ta numeriske data
stdnum= int(input('Skriv inn antall studenter totalt:'))
# Ta numeriske data
facnum= int(input('Skriv inn antall fakulteter totalt:'))
# Returner flere variabler
komme tilbakegjeld,stdnum,facnum;

# Ring funksjonen og lagre returverdiene i tre variabler
avd_navn,total_std,total_fac=multiVarFunc()
# Skriv ut den formaterte utgangen til returverdiene
skrive ut(' nAvdeling:%s nTotalt antall studenter:%d nTotalt antall fakulteter:%d '%(avd_navn,total_std,
total_fac))

Produksjon



Tre verdier tas som innganger, og utgangsverdiene skrives ut etter formatering.







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

Følgende skript viser hvordan du bruker en tupel 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 tupel til den som ringer. Returverdiene blir lagret i en tupelvariabel som heter tupleVar og verdiene skrives ut senere.

#!/usr/bin/env python3

# Definer funksjon for å returnere flere variabler
deftupleFunc():
# Ta en strengdata
stdID= input('Skriv inn student -ID:')
# Ta en strengdata
stdName= input('Skriv inn studentnavnet:')
# Ta et heltall
stdBatch= int(input('Skriv inn batchnummer:'))
# Ta en flytdata
stdCGPA= flyte(input('Skriv inn CGPA:'))
# Returner flere variabler som en tupel
komme tilbake (stdID,stdName,stdBatch,stdCGPA)

# Ring funksjonen og lagre returverdiene i en tupel
tupleVar=tupleFunc()
# Skriv ut den formaterte utgangen til tupelen
skrive ut(' nID:%s nNavn:%s nParti:%d nCGPA: %4.2f '%(tupleVar[0],tupleVar[1],tupleVar[2],
tupleVar[3]))

Produksjon



De fire inngangsverdiene tas som input og formaterte output -verdier skrives deretter 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 () funksjon brukes i skriptet for å ta to heltall fra brukeren og beregne tillegg, subtraksjon, multiplikasjon og divisjon 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
deflistFunc():
# Ta numeriske data
nummer 1= flyte(input('Skriv inn et hvilket som helst nummer:'))
# Ta numeriske data
Nummer 2= flyte(input('Skriv inn et hvilket som helst nummer:'))

addisjon=nummer1 + nummer2
subtraksjon=nummer1 - nummer2
multiplikasjon=nummer1 * nummer2
inndeling=nummer1 / nummer2

# Returner flere variabler som en liste
komme tilbake [nummer 1,Nummer 2,addisjon,subtraksjon,multiplikasjon,inndeling]

# Ring funksjonen og lagre returverdiene i en tupel
listVar=listFunc()
# Skriv ut den formaterte utgangen av listedataene
skrive ut(' n%5.2f + %5.2f = %5.2f '%(listVar[0],listVar[1],listVar[2]))
skrive ut(' %5.2f - %5.2f = %5.2f'%(listVar[0],listVar[1],listVar[3]))
skrive ut(' %5.2f x %5.2f = %5.2f'%(listVar[0],listVar[1],listVar[4]))
skrive ut(' %5.2f / %5.2f = %5.2f'%(listVar[0],listVar[1],listVar[5]))

Produksjon

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

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

Følgende skript viser hvordan du bruker en ordbok til å returnere flere verdier fra en funksjon. Dette er et annet alternativ for å returnere mange verdier fra en funksjon. En ordbokobjektvariabel navngitt dictVar er deklarert inne i funksjonen. Tre verdier er tilordnet variabelen og returnerer dicVar til den som ringer. Deretter skrives ordbokverdiene ut.

#!/usr/bin/env python3
# Definer funksjon for å returnere flere verdier som en ordbok
defdictFunc():
# Erklær en variabel i ordboken
dictVar= dict();
# Tilordne noen verdier
dictVar['Navn'] = 'Kelli Ali'
dictVar['alder'] = 46
dictVar['yrke'] = 'Sanger'
# Returner ordboken som returverdier
komme tilbakedictVar

# Ring funksjonen og lagre returverdiene i en ordbokvariabel
dictValues=dictFunc()
# Skriv ut ordbokverdiene
skrive ut('Verdiene til ordboken er: n',dictValues)

Produksjon

Følgende utdata vises etter at skriptet er kjørt.

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

En klasse brukes med en funksjon for å returnere flere verdier som et objekt fra funksjonen i det følgende skriptet. Når objFunc () funksjonsanrop, initialiserer funksjonen objektet fra Ansatte klasse og returnerer objektet til den som ringer. Deretter skrives eiendomsverdiene til objektet ut.

#!/usr/bin/env python3

# Definer klassen for å intialisere objektet
klasseAnsatte:
def __i det__(selv-):
selv-.Navn = 'Mosarof Karim'
selv-.post = 'Sjef'
selv-.lønn = 50 000

# Definer funksjonen for å returnere verdier som et objekt
defobjFunc():
komme tilbakeAnsatte()

# Ring funksjonen for å angi objektvariabelen
objVar=objFunc()

# Skriv ut den formaterte utskriften
skrive ut(' nArbeidstakers navn:',objVar.Navn,' n','Post:',objVar.post,' n','Lønn:',
objVar.lønn)

Produksjon

Følgende utdata vises etter at skriptet er kjørt.

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