Exempel 1: Returnera flera värden från funktionen med hjälp av flera variabler
Om du bara vill returnera några få variabler från Python -funktionen, är det bättre att definiera dessa variabler för att lagra flera returvärden från flera variabler, objekt, tupler, listor och ordböcker som använder funktionen. I det här exemplet deklareras tre variabler i skriptet för att lagra tre returvärden. De multiVarFunc () funktionen används för att ta tre ingångsvärden och returnera värdena till variablerna dept_name, total_std och total_fac .
#!/usr/bin/env python3
# Definiera funktion för att returnera flera variabler
defmultiVarFunc():
# Ta en strängdata
avd= inmatning('Ange avdelningsnamn:')
# Ta en numerisk data
stdnum= int(inmatning('Ange antalet studenter totalt:'))
# Ta en numerisk data
facnum= int(inmatning('Ange antalet fakulteter totalt:'))
# Returnera flera variabler
lämna tillbakaavd,stdnum,facnum;
# Anropa funktionen och lagra returvärdena i tre variabler
avd_namn,total_std,total_fac=multiVarFunc()
# Skriv ut den formaterade utmatningen av returvärdena
skriva ut(' nAvdelning:%s nTotalt antal studenter:%d nTotalt antal fakulteter:%d '%(avd_namn,total_std,
total_fac))
Produktion
Tre värden tas som ingångar och utgångsvärdena skrivs ut efter formatering.
Exempel 2: Returnera flera värden från funktionen med hjälp av tupeln
Följande skript visar hur du använder en tupel för att returnera flera värden från en funktion. Om du vill returnera många värden från funktionen är detta ett bättre alternativ. Här, tupleFunc () funktionen används för att ta fyra inmatningsvärden från användaren och returnera värdena som en tupel till den som ringer. Returvärdena kommer att lagras i en tupelvariabel som heter tupleVar och värdena kommer att skrivas ut senare.
#!/usr/bin/env python3# Definiera funktion för att returnera flera variabler
deftupleFunc():
# Ta en strängdata
stdID= inmatning('Ange student -id:')
# Ta en strängdata
stdName= inmatning('Ange studentens namn:')
# Ta ett heltal data
stdBatch= int(inmatning('Ange batchnummer:'))
# Ta en flottördata
stdCGPA= flyta(inmatning('Ange CGPA:'))
# Returnera flera variabler som en tupel
lämna tillbaka (stdID,stdName,stdBatch,stdCGPA)
# Ring funktionen och lagra returvärdena i en tupel
tupleVar=tupleFunc()
# Skriv ut den formaterade utdata från tupeln
skriva ut(' nID:%s nNamn:%s nParti:%d nCGPA: %4.2f '%(tupleVar[0],tupleVar[1],tupleVar[2],
tupleVar[3]))
Produktion
De fyra ingångsvärdena tas som input och formaterade utdata skrivs sedan ut.
Exempel 3: Returnera flera värden från funktionen med hjälp av listan
Följande skript visar hur du använder en lista för att returnera flera värden från en funktion. Detta är ett annat alternativ för att returnera många värden från en funktion. De listFunc() funktion används i skriptet för att ta två heltal från användaren och beräkna addition, subtraktion, multiplikation och division av dessa nummer. Därefter returneras dessa fyra resultat som en lista från funktionen. Listvariabeln, listVar används för att lagra returvärdena och skriva ut värdena.
#!/usr/bin/env python3# Definiera funktion för att returnera flera värden som en lista
deflistFunc():
# Ta en numerisk data
nummer ett= flyta(inmatning('Ange valfritt nummer:'))
# Ta en numerisk data
nummer 2= flyta(inmatning('Ange valfritt nummer:'))
tillägg=nummer1 + nummer2
subtraktion=nummer1 - nummer2
multiplikation=nummer1 * nummer2
division=nummer1 / nummer2
# Returnera flera variabler som en lista
lämna tillbaka [nummer ett,nummer 2,tillägg,subtraktion,multiplikation,division]
# Ring funktionen och lagra returvärdena i en tupel
listVar=listFunc()
# Skriv ut den formaterade utdata från listdata
skriva ut(' n%5.2f + %5.2f = %5.2f '%(listVar[0],listVar[1],listVar[2]))
skriva ut(' %5.2f - %5.2f = %5.2f'%(listVar[0],listVar[1],listVar[3]))
skriva ut(' %5.2f x %5.2f = %5.2f'%(listVar[0],listVar[1],listVar[4]))
skriva ut(' %5.2f / %5.2f = %5.2f'%(listVar[0],listVar[1],listVar[5]))
Produktion
Efter att ha tagit två nummer, 67 och 23.7, kommer följande utdata att visas.
Exempel 4: Returnera flera värden från funktionen med hjälp av ordlistan
Följande skript visar hur du använder en ordlista för att returnera flera värden från en funktion. Detta är ett annat alternativ för att returnera många värden från en funktion. En variabel med variabler i ordboken heter dictVar deklareras inuti funktionen. Tre värden tilldelas variabeln och returnerar dicVar till den som ringer. Därefter skrivs ordlistans värden ut.
#!/usr/bin/env python3# Definiera funktion för att returnera flera värden som en ordlista
defdictFunc():
# Deklarera en ordboksvariabel
dictVar= dict();
# Tilldela några värden
dictVar['namn'] = 'Kelli Ali'
dictVar['ålder'] = 46
dictVar['yrke'] = 'Sångare'
# Returnera ordlistan som returvärden
lämna tillbakadictVar
# Anropa funktionen och lagra returvärdena i en ordboksvariabel
dictValues=dictFunc()
# Skriv ut ordlistans värden
skriva ut('Ordlistans värden är: n',dictValues)
Produktion
Följande utdata visas efter att manuset har körts.
Exempel 5: Returnera flera värden från funktionen med hjälp av objekt
En klass används med en funktion för att returnera flera värden som ett objekt från funktionen i följande skript. När objFunc () funktionsanrop initierar funktionen objektet från Anställda class och returnerar objektet till den som ringer. Därefter skrivs objektets egenskapsvärden ut.
#!/usr/bin/env python3# Definiera klassen för att initialisera objektet
klassAnställda:
def __i det__(själv):
själv.namn = 'Mosarof Karim'
själv.posta = 'Chef'
själv.lön = 50 000
# Definiera funktionen för att returnera värden som ett objekt
defobjFunc():
lämna tillbakaAnställda()
# Ring funktionen för att ställa in objektvariabeln
objVar=objFunc()
# Skriv ut den formaterade utmatningen
skriva ut(' nAnställd Namn:',objVar.namn,' n','Posta:',objVar.posta,' n','Lön:',
objVar.lön)
Produktion
Följande utdata visas efter att manuset har körts.
Slutsats
Flera returvärden från en funktion kan användas i skriptet för olika ändamål. Denna handledning visade några av de olika sätten att returnera flera värden från en funktion i Python.
Se författarens video: här