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รฅ














