Eksempler på Python-funktioner: Opkald, indrykning, argumenter og amp; Returneringsværdier

Indholdsfortegnelse:

Anonim

Hvad er funktion i Python?

En funktion i Python er et stykke kode, der kører, når der henvises til det. Den bruges til at bruge koden mere end et sted i et program. Det kaldes også metode eller procedure. Python giver mange indbyggede funktioner som print (), input (), compile (), exec () osv., Men det giver også frihed til at oprette dine egne funktioner.

I denne vejledning lærer vi

  • Sådan defineres og kaldes en funktion i Python
  • Betydningen af ​​indrykning (mellemrum) i Python
  • Hvordan funktionsreturværdi?
  • Argumenter i funktioner

Sådan defineres og kaldes en funktion i Python

Funktion i Python er defineret af "def" -sætningen efterfulgt af funktionsnavnet og parenteser (())

Eksempel:

Lad os definere en funktion ved hjælp af kommandoen "def func1 (): og kalde funktionen. Output af funktionen vil være "Jeg lærer Python-funktion".

Funktionen print func1 () kalder vores def func1 (): og udskriv kommandoen " Jeg lærer Python-funktion Ingen. "

Der er sæt regler i Python til at definere en funktion.

  • Alle argumenter eller inputparametre skal placeres inden for disse parenteser
  • Funktionens første sætning kan være en valgfri sætningsdocstring eller dokumentationsstrengen for funktionen
  • Koden inden for hver funktion starter med et kolon (:) og skal indrykkes (mellemrum)
  • Sætningsreturen (udtryk) afslutter en funktion, der eventuelt videresender en værdi til den, der ringer op. En returerklæring uden argumenter er den samme som returnering Ingen.

Betydningen af ​​indrykning (mellemrum) i Python

Før vi bliver fortrolige med Python-funktioner, er det vigtigt, at vi forstår indrykningsreglen for at erklære Python-funktioner, og disse regler gælder også for andre elementer i Python såvel som erklæring af betingelser, sløjfer eller variabel.

Python følger en bestemt indrykningsstil for at definere koden, da Python-funktioner ikke har nogen eksplicit start eller slutning som krøllede seler for at angive start og stop for funktionen, de er afhængige af denne indrykning . Her tager vi et simpelt eksempel med kommandoen "print". Når vi skriver "udskriv" -funktion lige under def func 1 (): Den viser en " indrykningsfejl: forventes en indrykket blok ".

Når du nu tilføjer indrykket (mellemrum) foran "print" -funktionen, skal det udskrives som forventet.

I det mindste er et led nok til at få din kode til at fungere med succes. Men som en bedste praksis er det tilrådeligt at efterlade ca. 3-4 indryk for at ringe til din funktion .

Det er også nødvendigt, at mens du erklærer indrykning, skal du bevare den samme indrykning for resten af ​​din kode . For eksempel, i nedenstående skærmbillede, når vi kalder en anden sætning "stadig i func1", og når den ikke er erklæret lige under den første udskrivningserklæring, vil den vise en indrykningsfejl "unindent matcher ikke noget andet indrykningsniveau."

Når vi nu anvender samme indrykning for begge udsagn og justerer dem i samme linje, giver det det forventede output.

Hvordan funktionsreturværdi?

Returkommando i Python angiver, hvilken værdi der skal returneres til funktionens opkald.

Lad os forstå dette med følgende eksempel

Trin 1) Her - vi ser, når funktionen ikke er "return". For eksempel vil vi have kvadratet på 4, og det skal give svaret "16", når koden udføres. Hvilket det giver, når vi blot bruger "udskriv x * x" -kode, men når du kalder funktionen "udskriv firkant", giver det "Ingen" som output. Dette skyldes, at når du ringer til funktionen, sker der ikke rekursion og falder fra slutningen af ​​funktionen. Python returnerer "Ingen" for at fejle i slutningen af ​​funktionen.

Trin 2) For at gøre dette tydeligere erstatter vi udskrivningskommandoen med tildelingskommando. Lad os kontrollere output.

Når du kører kommandoen "print firkant (4)" returnerer den faktisk værdien af ​​objektet, da vi ikke har nogen specifik funktion at køre over her, returnerer den "Ingen".

Trin 3) Nu ser vi her, hvordan man henter output ved hjælp af "return" -kommandoen. Når du bruger "return" -funktionen og udfører koden, vil den give output "16."

Trin 4) Funktioner i Python er i sig selv et objekt, og et objekt har en vis værdi. Vi vil her se, hvordan Python behandler et objekt. Når du kører kommandoen "udskriv firkant" returnerer den objektets værdi. Da vi ikke har bestået noget argument, har vi ingen specifik funktion til at køre over her, det returnerer en standardværdi (0x021B2D30), som er placeringen af ​​objektet. I det praktiske Python-program behøver du sandsynligvis aldrig gøre dette.

Argumenter i funktioner

Argumentet er en værdi, der overføres til funktionen, når den kaldes.

Med andre ord på den kaldende side er det et argument, og på funktionssiden er det en parameter.

Lad os se, hvordan Python Args fungerer -

Trin 1) Argumenter erklæres i funktionsdefinitionen. Når du ringer til funktionen, kan du videregive værdierne for argumenterne som vist nedenfor

Trin 2) For at erklære en standardværdi for et argument, tildel det en værdi ved funktionsdefinition.

Eksempel: x har ingen standardværdier. Standardværdier for y = 0. Når vi kun leverer et argument, mens vi kalder multipliceringsfunktion, tildeler Python den leverede værdi til x, mens værdien y = 0 holdes. Derfor multipliceres x * y = 0

Trin 3) Denne gang ændrer vi værdien til y = 2 i stedet for standardværdien y = 0, og den returnerer output som (4x2) = 8.

Trin 4) Du kan også ændre den rækkefølge, som argumenterne kan sendes i Python. Her har vi vendt rækkefølgen af ​​værdien x og y til x = 4 og y = 2.

Trin 5) Flere argumenter kan også sendes som en matrix. Her i eksemplet kalder vi flere args (1,2,3,4,5) ved at kalde funktionen (* args).

Eksempel: Vi erklærede flere args som tal (1,2,3,4,5), når vi kalder (* args) -funktionen; det udskriver output som (1,2,3,4,5)

Tip :

  • I Python 2.7. funktionsoverbelastning understøttes ikke i Python. Funktionsoverbelastning er evnen til at oprette flere metoder med samme navn med en anden implementering. Funktionsoverbelastning understøttes fuldt ud i Python 3
  • Der er en ganske forvirring mellem metoder og funktioner. Metoder i Python er forbundet med objektforekomster, mens funktionen ikke er. Når Python kalder en metode, binder den den første parameter i dette opkald til den relevante objektreference. Med enkle ord er en enkeltstående funktion i Python en "funktion", mens en funktion, der er en attribut for en klasse eller en forekomst, er en "metode".

Her er den komplette Python 3-kode

#define a functiondef func1():print ("I am learning Python function")print ("still in func1")func1()def square(x):return x*xprint(square(4))def multiply(x,y=0):print("value of x=",x)print("value of y=",y)return x*yprint(multiply(y=2,x=4))

Her er den komplette Python 2-kode

#define a functiondef func1():print " I am learning Python function"print " still in func1"func1()def square(x):return x*xprint square(4)def multiply(x,y=0):print"value of x=",xprint"value of y=",yreturn x*yprint multiply(y=2,x=4)

Resumé:

Funktion i Python er et stykke genanvendelig kode, der bruges til at udføre en enkelt, relateret handling. I denne artikel vil vi se

  • Funktion defineret af def- sætningen
  • Kodeblokken inden for hver funktion starter med et kolon (:) og skal indrykkes (mellemrum)
  • Eventuelle argumenter eller inputparametre skal placeres inden for disse parenteser osv.
  • Mindst et indryk skal være tilbage før koden efter erklæring af funktion
  • Samme indrykningsstil skal opretholdes i hele koden inden for def-funktionen
  • For bedste praksis anses tre eller fire led for at være de bedste før erklæringen
  • Du kan bruge kommandoen "return" til at returnere værdier til funktionsopkaldet.
  • Python udskriver en tilfældig værdi som (0x021B2D30), når argumentet ikke leveres til opkaldsfunktionen. Eksempel på "udskrivningsfunktion."
  • På den kaldende side er det et argument, og på funktionssiden er det en parameter
  • Standardværdi i argument - Når vi kun leverer et argument, mens vi kalder multipliceringsfunktion eller en hvilken som helst anden funktion, tildeler Python som standard det andet argument
  • Python giver dig også mulighed for at vende rækkefølgen af ​​argumentet