Pytonorm

Returnera flera värden från en Python-funktion

Returnera flera värden från en Python-funktion
Funktionen används på vilket programmeringsspråk som helst för att köra ett specifikt kodblock flera gånger när det krävs och ordna koden ordentligt. Ibland kräver detta att man läser returvärdet från funktionen för programmeringsändamål. Funktionens returvärde lagras i en variabel. Python-funktioner kan returnera både enstaka och flera värden. Denna handledning visar hur flera värden kan returneras från Python-funktioner med flera variabler, objekt, tuplar, listor och ordböcker.

Exempel 1: Returnera flera värden från funktionen med flera variabler

Om du bara vill returnera ett fåtal 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, tuples, listor och ordböcker med 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 inmatningsvärden och återföra värdena till variablerna avdelningsnamn, totalt_std och total_fac.

#!/ usr / bin / env python3
# Definiera funktion för att returnera flera variabler
def multiVarFunc ():
# Ta en strängdata
dept = input ("Ange avdelningsnamn:")
# Ta en numerisk data
stdnum = int (input ("Ange antalet studenter totalt:"))
# Ta en numerisk data
facnum = int (input ("Ange antalet fakulteter totalt:"))
# Returnera flera variabler
retur dept, stdnum, facnum;
# Ring funktionen och spara returvärdena i tre variabler
dept_name, total_std, total_fac = multiVarFunc ()
# Skriv ut den formaterade utgången för returvärdena
skriv ut ("\ nAvdelning:% s \ nTotala studenter:% d \ nTotala fakulteter:% d"% (avdelningsnamn, total_std,
total_fac))

Produktion

Tre värden tas som ingångar och utmatningsvärdena skrivs ut efter formatering.

Exempel 2: Returnera flera värden från funktionen med hjälp av tupeln

Följande skript visar hur man använder en tuple 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, den tupleFunc () funktionen används för att ta fyra inmatningsvärden från användaren och returnera värdena som en tuple till den som ringer. Returvärdena lagras i en tuple-variabel med namnet tupleVar och värdena kommer att skrivas ut senare.

#!/ usr / bin / env python3
# Definiera funktion för att returnera flera variabler
def tupleFunc ():
# Ta en strängdata
stdID = input ("Ange student-id:")
# Ta en strängdata
stdName = input ("Ange studentnamnet:")
# Ta ett heltal
stdBatch = int (input ("Ange batchnummer:"))
# Ta en flytdata
stdCGPA = float (input ("Enter the CGPA:"))
# Returnera flera variabler som en tupel
returnera (stdID, stdName, stdBatch, stdCGPA)
# Ring funktionen och spara returvärdena i en tuple
tupleVar = tupleFunc ()
# Skriv ut den formaterade utgången för tupeln
skriv ut ("\ n ID:% s \ n Namn:% s \ n Parti:% d \ n CGPA:% 4.2f "% (tupleVar [0], tupleVar [1], tupleVar [2],
tupleVar [3]))

Produktion

De fyra inmatningsvärdena tas när inmatnings- och formaterade utmatningsvärden skrivs ut.

Exempel 3: Returnera flera värden från funktionen med hjälp av listan

Följande skript visar hur man 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 () funktionen används i skriptet för att ta två heltal från användaren och beräkna addition, subtraktion, multiplikation och delning av dessa tal. 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
def listFunc ():
# Ta numeriska data
number1 = float (input ("Enter any number:"))
# Ta numeriska data
number2 = float (input ("Ange valfritt nummer:"))
 
addition = nummer1 + nummer2
subtraktion = nummer1 - nummer2
multiplikation = nummer1 * nummer2
division = nummer1 / nummer2
 
# Returnera flera variabler som en lista
returnera [nummer1, nummer2, addition, subtraktion, multiplikation, division]
 
# Ring funktionen och spara returvärdena i en tuple
listVar = listFunc ()
# Skriv ut den formaterade utdata för listdata
skriv 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 visas följande utdata.

Exempel 4: Returnera flera värden från funktionen med ordlistan

Följande skript visar hur man 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 ordboksobjekt som heter dictVar deklareras inuti funktionen. Tre värden tilldelas variabeln och returnerar dicVar till den som ringer. Därefter skrivs ordboksvärdena ut.

#!/ usr / bin / env python3
# Definiera funktion för att returnera flera värden som en ordlista
def dictFunc ():
# Förklara en ordboksvariabel
dictVar = dict ();
# Tilldela några värden
dictVar ['name'] = "Kelli Ali"
dictVar ['age'] = 46
dictVar ['profession'] = 'Sångare'
# Returnera ordboken som returvärden
returnera dictVar
 
# Ring funktionen och spara returvärdena i en ordboksvariabel
dictValues ​​= dictFunc ()
# Skriv ut ordbokens värden
print ("Värdena i ordboken är: \ n", dictValues)

Produktion

Följande utdata visas efter körning av skriptet.

Exempel 5: Returnera flera värden från funktionen med hjälp av objektet

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 () funktionssamtal initierar funktionen objektet från Anställda klass och returnerar objektet till den som ringer. Därefter kommer objektets egenskaper att skrivas ut.

#!/ usr / bin / env python3
 
# Definiera klassen för att förstärka objektet
klass Anställda:
def __init __ (själv):
själv.namn = "Mosarof Karim"
själv.post = "Manager"
själv.lön = 50000
 
# Definiera funktionen för att returnera värden som ett objekt
def objFunc ():
returnera anställda ()
 
# Ring funktionen för att ställa in objektvariabeln
objVar = objFunc ()
 
# Skriv ut den formaterade utgången
print ("\ n Anställds namn:", objVar.namn, "\ n", "Inlägg:", objVar.post, "\ n", "Lön:",
objVar.lön)

Produktion

Följande utdata visas efter körning av skriptet.

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

Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...
Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...
Hur man använder GameConqueror Cheat Engine i Linux
Artikeln täcker en guide om hur du använder GameConqueror-fuskmotorn i Linux. Många användare som spelar spel på Windows använder ofta applikationen "...