Slik ringer du inn en funksjon Python (Eksempel)
Hva er funksjon i Python?
A Funksjon i Python er et stykke kode som kjører når det refereres til det. Den brukes til å bruke koden på mer enn ett sted i et program. Det kalles også metode eller prosedyre. Python gir mange innebygde funksjoner som print(), input(), compile(), exec(), etc., men det gir også frihet til å lage dine egne funksjoner.
Hvordan definere og kalle inn en funksjon Python
Funksjon i Python er definert av "def" setning etterfulgt av funksjonens navn og parenteser (())
Eksempel:
La oss definere en funksjon ved å bruke kommandoen "def func1():" og kalle opp funksjonen. Utgangen av funksjonen vil være «Jeg lærer Python funksjon".
Funksjonen print func1() kaller vår def func1(): og skriv ut kommandoen " jeg lærer Python funksjon Ingen."
Det er sett med regler i Python å definere en funksjon.
- Eventuelle args eller inngangsparametere skal plasseres innenfor disse parentesene
- Funksjonen første setning kan være en valgfri setnings-docstring eller dokumentasjonsstrengen til funksjonen
- Koden i hver funksjon starter med et kolon (:) og skal rykkes inn (mellomrom)
- Uttrykket retur (uttrykk) avslutter en funksjon, og sender eventuelt tilbake en verdi til den som ringer. En returerklæring uten args er det samme som return None.
Betydningen av innrykk (mellomrom) i Python
Før vi blir kjent med Python funksjoner, er det viktig at vi forstår innrykksregelen for å deklarere Python funksjoner og disse reglene gjelder for andre elementer av Python så vel som å deklarere forhold, løkker eller variabel.
Python følger en bestemt stil med innrykk for å definere koden, siden Python funksjoner har ingen eksplisitt begynnelse eller slutt som krøllete klammeparenteser for å indikere start og stopp for funksjonen, de må stole på denne innrykket. Her tar vi et enkelt eksempel med "print"-kommandoen. Når vi skriver "print"-funksjonen rett under def func 1 (): Den vil vise en "innrykk feil: forventet en innrykket blokk".
Nå, når du legger til innrykk (mellomrom) foran "skriv ut"-funksjonen, skal den skrives ut som forventet.
Minst ett innrykk er nok til å få koden til å fungere. Men som en beste praksis er det tilrådelig å legge igjen ca. 3-4 innrykk for å ringe funksjonen din.
Det er også nødvendig at mens du erklærer innrykk, må du opprettholde samme innrykk for resten av koden. For eksempel, i skjermbildet nedenfor når vi kaller en annen setning "fortsatt i func1" og når den ikke er deklarert rett under den første utskriftssetningen, vil den vise en innrykkfeil «fjern innrykk samsvarer ikke med noe annet innrykknivå.»
Nå, når vi bruker samme innrykk for begge setningene og justerer dem på samme linje, gir det forventet utgang.
Hvordan fungerer returnerer verdi?
Returner kommandoen inn Python spesifiserer hvilken verdi som skal gis tilbake til den som ringer funksjonen. La oss forstå dette med følgende eksempel
Trinn 1) Funksjonen returnerer ikke noe
Her - vi ser når funksjon ikke er "retur". For eksempel vil vi ha kvadratet på 4, og det skal gi svaret "16" når koden kjøres. Som det gir når vi bare bruker "print x*x" kode, men når du kaller funksjonen "print square" gir det "Ingen" som en utgang. Dette er fordi når du kaller funksjonen, skjer ikke rekursjon og faller av slutten av funksjonen. Python returnerer "Ingen" for feil ved slutten av funksjonen.
Trinn 2) Erstatt utskriftskommandoen med tilordningskommandoen
For å gjøre dette klarere erstatter vi utskriftskommandoen med tilordningskommando. La oss sjekke utgangen.
Når du kjører kommandoen "print square (4)" returnerer den faktisk verdien til objektet siden vi ikke har noen spesifikk funksjon å kjøre over her, returnerer den "Ingen".
Trinn 3) Bruk 'retur'-funksjonen og utfør koden
Nå, her vil vi se hvordan du henter utdataene ved å bruke "retur"-kommandoen. Når du bruker "retur"-funksjonen og kjører koden, vil den gi utgangen "16."
Trinn 4) Kjør kommandoen 'print square'
Funksjoner i Python er i seg selv et objekt, og et objekt har en viss verdi. Vi vil her se hvordan Python behandler en gjenstand. Når du kjører kommandoen "print square" returnerer den verdien til objektet. Siden vi ikke har bestått noe argument, har vi ingen spesifikk funksjon å kjøre over her, den returnerer en standardverdi (0x021B2D30) som er plasseringen til objektet. I det praktiske Python programmet, trenger du sannsynligvis aldri å gjøre dette.
Argumenter i funksjoner
Argumentet er en verdi som sendes til funksjonen når den kalles.
Med andre ord på anropssiden er det et argument og på funksjonssiden er det en parameter.
La oss se hvordan Python Args fungerer –
Trinn 1) Argumenter er deklarert i funksjonsdefinisjonen. Mens du kaller funksjonen, kan du sende verdiene for de argene som vist nedenfor
Trinn 2) For å erklære en standardverdi for et argument, tilordne det en verdi ved funksjonsdefinisjonen.
Eksempel: x har ingen standardverdier. Standardverdier på y=0. Når vi bare oppgir ett argument mens vi kaller multiplikasjonsfunksjonen, Python tildeler den oppgitte verdien til x mens verdien av y=0 beholdes. Derav multiplikasjonen av x*y=0
Trinn 3) Denne gangen vil vi endre verdien til y=2 i stedet for standardverdien y=0, og det vil returnere utgangen som (4×2)=8.
Trinn 4) Du kan også endre rekkefølgen argumentene kan sendes inn i Python. Her har vi snudd rekkefølgen på verdien x og y til x=4 og y=2.
Trinn 5) Flere argumenter kan også sendes som en matrise. Her i eksemplet kaller vi multiple args (1,2,3,4,5) ved å kalle (*args) funksjonen.
Eksempel: Vi erklærte flere args som tall (1,2,3,4,5) når vi kaller (*args) funksjonen; den skriver ut utdataene som (1,2,3,4,5)
Tips:
- In Python 2.7. funksjon overbelastning er ikke støttet i Python. Funksjonsoverbelastning er muligheten til å lage flere metoder med samme navn med en annen implementering. Funksjon Overbelastning støttes fullt ut i Python 3
- Det er en del forvirring mellom metoder og funksjoner. Metoder i Python er assosiert med objektforekomster mens funksjon ikke er det. Når Python kaller en metode, binder den den første parameteren i det kallet til den aktuelle objektreferansen. Med enkle ord, en frittstående funksjon i Python er en "funksjon", mens en funksjon som er et attributt til 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)
Sammendrag
Funksjon i Python er en gjenbrukbar kode som brukes til å utføre enkelt, relatert handling. I denne artikkelen vil vi se
- Funksjon definert av def uttalelse
- Kodeblokken i hver funksjon starter med et kolon (:) og skal rykkes inn (mellomrom)
- Eventuelle argumenter eller inngangsparametere bør plasseres innenfor disse parentesene, etc.
- Minst ett innrykk skal stå før koden etter at funksjonen er deklarert
- Samme innrykkstil bør opprettholdes gjennom hele koden innenfor def-funksjonen
- For beste praksis anses tre eller fire innrykk som best før uttalelsen
- Du kan bruke "retur"-kommandoen for å returnere verdier til funksjonskallet.
- Python vil skrive ut en tilfeldig verdi som (0x021B2D30) når argumentet ikke leveres til den kallende funksjonen. Eksempel "utskriftsfunksjon."
- På anropssiden er det et argument og på funksjonssiden er det en parameter
- Standardverdi i argument – Når vi bare oppgir ett argument mens vi kaller multiplikasjonsfunksjonen eller en hvilken som helst annen funksjon, Python tilordner det andre argumentet som standard
- Python lar deg snu rekkefølgen på argumentet også