Sådan kalder du en funktion ind Python (Eksempel)
Hvad er funktion i Python?
A Funktion i Python er et stykke kode, der kører, når der refereres til det. Det bruges til at bruge koden mere end ét 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.
Sådan defineres og kaldes en funktion ind Python
Funktion i Python er defineret af "def" sætning efterfulgt af funktionsnavn og parenteser (())
Eksempel:
Lad os definere en funktion ved at bruge kommandoen "def func1():" og kalde funktionen. Funktionens output vil være "Jeg lærer Python fungere".
funktionen print func1() kalder vores def func1(): og udskriv kommandoen ” Jeg lærer Python funktion Ingen."
Der er et sæt regler i Python at definere en funktion.
- Eventuelle args eller inputparametre skal placeres inden for disse parenteser
- Funktionen første sætning kan være en valgfri sætnings-docstring eller dokumentationsstrengen for funktionen
- Koden i hver funktion starter med et kolon (:) og skal være indrykket (mellemrum)
- Sætningen returnerer (udtryk) afslutter en funktion, og sender eventuelt en værdi tilbage til den, der ringer. En returerklæring uden args er det samme som return None.
Betydningen af indrykning (mellemrum) i Python
Inden vi bliver bekendt med Python funktioner, er det vigtigt, at vi forstår indrykningsreglen, der skal erklæres Python funktioner og disse regler gælder for andre elementer af Python samt at deklarere betingelser, sløjfer eller variable.
Python følger en bestemt indrykningsstil for at definere koden, da Python funktioner har ikke nogen eksplicit start eller slutning som krøllede klammeparenteser for at angive start og stop for funktionen, de skal stole på denne indrykning. Her tager vi et simpelt eksempel med kommandoen "print". Når vi skriver "print"-funktionen lige under def func 1 (): Det vil vise en "indrykningsfejl: forventet en indrykket blok".
Nu, når du tilføjer indrykket (mellemrum) foran "print"-funktionen, skal det udskrives som forventet.
I det mindste er ét indrykning nok til at få din kode til at fungere med succes. Men som en bedste praksis er det tilrådeligt at efterlade omkring 3-4 indrykker for at kalde din funktion.
Det er også nødvendigt, at mens du erklærer indrykning, skal du bevar det 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 udskriftserklæring, vil den vise en indrykningsfejl "fjern indrykning matcher ikke noget andet indrykningsniveau."
Nu, når vi anvender samme indrykning for begge udsagn og justerer dem i samme linje, giver det det forventede output.
Hvordan fungerer returnerer værdien?
Returner kommandoen ind Python angiver, hvilken værdi der skal tilbagegives til den, der ringer til funktionen. Lad os forstå dette med følgende eksempel
Trin 1) Funktionen returnerer ikke noget
Her - vi ser, hvornår funktion ikke er "retur". 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 "print x*x" kode, men når du kalder funktionen "print square" giver det "Ingen" som output. Dette skyldes, at når du kalder funktionen, sker der ikke rekursion og falder fra slutningen af funktionen. Python returnerer "Ingen" for fejl ved slutningen af funktionen.
Trin 2) Erstat udskriftskommandoen med tildelingskommandoen
For at gøre dette klarere erstatter vi printkommandoen med tildelingskommandoen. Lad os tjekke outputtet.
Når du kører kommandoen "print square (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) Brug 'retur'-funktionen og udfør koden
Nu vil vi her se, hvordan man henter outputtet ved hjælp af "return"-kommandoen. Når du bruger "retur"-funktionen og udfører koden, vil den give outputtet "16".
Trin 4) Kør kommandoen 'print square'
Fungerer i Python er i sig selv et objekt, og et objekt har en vis værdi. Vi vil her se hvordan Python behandler en genstand. Når du kører kommandoen "print square" returnerer den værdien af objektet. Da vi ikke har bestået noget argument, har vi ikke nogen specifik funktion at køre over her, det returnerer en standardværdi (0x021B2D30), som er placeringen af objektet. I praksis Python program, behøver du sandsynligvis aldrig at gøre dette.
Argumenter i funktioner
Argumentet er en værdi, der sendes 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 virker –
Trin 1) Argumenter er deklareret i funktionsdefinitionen. Mens du kalder funktionen, kan du videregive værdierne for disse args som vist nedenfor
Trin 2) For at erklære en standardværdi for et argument skal du tildele det en værdi ved funktionsdefinition.
Eksempel: x har ingen standardværdier. Standardværdier på y=0. Når vi kun angiver ét argument, mens vi kalder multiplikationsfunktionen, Python tildeler den angivne værdi til x, mens værdien af y=0 bevares. Derfor er multiplikationen af x*y=0
Trin 3) Denne gang vil vi ændre værdien til y=2 i stedet for standardværdien y=0, og det vil returnere output som (4×2)=8.
Trin 4) Du kan også ændre rækkefølgen, 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 et array. Her i eksemplet kalder vi de multiple args (1,2,3,4,5) ved at kalde (*args) funktionen.
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)
Tips:
- In Python 2.7. funktion overbelastning er ikke understøttet i Python. Funktion Overbelastning er evnen til at oprette flere metoder af samme navn med en anden implementering. Funktion Overbelastning er fuldt understøttet i Python 3
- Der er en del forvirring mellem metoder og funktioner. Metoder i Python er knyttet til objektforekomster, mens funktion ikke er det. Når Python kalder en metode, binder den den første parameter i det kald til den relevante objektreference. Med enkle ord, en selvstændig funktion i Python er en "funktion", hvorimod en funktion, der er en egenskab for en klasse eller en instans, er en "metode".
Her er det komplette Python 3 kode
#define a function def func1(): print ("I am learning Python function") print ("still in func1") func1() def square(x): return x*x print(square(4)) def multiply(x,y=0): print("value of x=",x) print("value of y=",y) return x*y print(multiply(y=2,x=4))
Her er det komplette Python 2 kode
#define a function def func1(): print " I am learning Python function" print " still in func1" func1() def square(x): return x*x print square(4) def multiply(x,y=0): print"value of x=",x print"value of y=",y return x*y print multiply(y=2,x=4)
Resumé
Funktion i Python er et stykke genbrugelig kode, der bruges til at udføre en enkelt, relateret handling. I denne artikel vil vi se
- Funktion defineret af def erklæring
- Kodeblokken i hver funktion starter med et kolon (:) og skal være indrykket (mellemrum)
- Eventuelle argumenter eller inputparametre skal placeres inden for disse parenteser osv.
- Mindst et indrykning skal efterlades før koden efter deklarering af funktion
- Samme indrykningsstil bør opretholdes i hele koden inden for def-funktionen
- For bedste praksis anses tre eller fire led som bedst før erklæringen
- Du kan bruge "retur"-kommandoen til at returnere værdier til funktionskaldet.
- Python vil udskrive en tilfældig værdi som (0x021B2D30), når argumentet ikke leveres til den kaldende funktion. Eksempel "udskrivningsfunktion."
- På den kaldende side er det et argument og på funktionssiden er det en parameter
- Standardværdi i argument – Når vi kun angiver ét argument, mens vi kalder multiplikationsfunktionen eller en hvilken som helst anden funktion, Python tildeler det andet argument som standard
- Python giver dig også mulighed for at vende rækkefølgen af argumentet