Slik ringer du inn en funksjon Python (Eksempel)

⚡ Smart oppsummering

Funksjoner i Python er gjenbrukbare kodeblokker som kjører når de kalles, definert med def-setningen. De aksepterer argumenter, returnerer verdier og er avhengige av konsistent innrykk for å gruppere setningene som tilhører hver funksjon.

  • 🧩 def-setning: En funksjon er definert med def, et navn og parenteser, etterfulgt av et kolon som åpner den innrykkede blokken med setninger.
  • 📞 Anropsfunksjoner: Å skrive funksjonsnavnet etterfulgt av parenteser kjører koden, slik at den samme logikken kan brukes om igjen mange ganger.
  • ⌨️ Innrykk: Python grupperer en funksjonskropp med konsekvent innrykk i stedet for parenteser, slik at et manglende mellomrom genererer en IndentationError.
  • 🎯 argumenter: Verdier som sendes i parentesene blir parametere, og standardverdier eller nøkkelordargumenter gjør hvert kall fleksibelt.
  • ↩️ Returverdier: Return-setningen sender et resultat tilbake til den som kaller den; uten den returnerer en funksjon Ingen.
  • 🤖 AI-hjelp: AI-assistenter som GitHub Copilot genererer funksjonsskjeletter, argumenter og dokumentstrenger fra en kort ledetekst.

Slik ringer du inn en funksjon Python

Hva er funksjon i Python?

A Funksjon i Python er en kodebit som kjører når den refereres til. Den brukes til å bruke koden på mer enn ett sted i et program. Den kalles også en metode eller en prosedyre. Python tilbyr mange innebygde funksjoner som print(), input(), compile() og exec(), men den gir deg også friheten til å lage dine egne funksjoner.

Hvordan definere og kalle inn en funksjon Python

En funksjon i Python er definert av «def»-setningen etterfulgt av funksjonsnavnet og parenteser (()).

Eksempel:

La oss definere en funksjon ved å bruke kommandoen «def func1():» og kalle funksjonen. Utdataene fra funksjonen vil være «Jeg lærer Python funksjon".

Definer og kall inn en funksjon Python

Funksjonskallet func1() kaller vår def func1(): og skriver ut kommandoen «Jeg lærer Python funksjon Ingen.

Det finnes et sett med regler i Python programmering å definere en funksjon.

  • Eventuelle argumenter eller inndataparametere skal plasseres i disse parentesene.
  • Funksjonens første setning kan være en valgfri setning – dokstring- eller dokumentasjonsstrengen til funksjonen.
  • Koden i hver funksjon starter med et kolon (:) og skal være innrykket (mellomrom).
  • Uttrykket return (uttrykk) avslutter en funksjon, og sender eventuelt en verdi tilbake til kalleren. Et returuttrykk uten argumenter 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 også, for eksempel å deklarere betingelser, løkker eller variabler.

Python følger en bestemt innrykksstil for å definere koden. Siden Python Funksjoner har ingen eksplisitt begynnelse eller slutt, som krøllparenteser, for å indikere start og stopp for funksjonen. De må derfor bruke dette innrykket. Her tar vi et enkelt eksempel med kommandoen «print». Når vi skriver «print»-funksjonen rett under def func1():-linjen, vil den vise en «innrykksfeil: forventet en innrykket blokk».

Definer og kall inn en funksjon Python

Når du nå legger til innrykket (mellomrommet) foran «print»-funksjonen, skal den skrives ut som forventet.

Definer og kall inn en funksjon Python

Minst ett innrykk er nok til at koden din skal fungere ordentlig. Men som en god praksis er det lurt å la det være omtrent 3–4 innrykksplasser igjen for å kalle funksjonen din.

Det er også nødvendig at du beholder samme innrykk for resten av koden når du deklarerer innrykk. For eksempel, i skjermbildet nedenfor, når vi kaller en annen setning «fortsatt i func1» og den ikke deklareres rett under den første print-setningen, vil den vise en innrykksfeil: «unindent does not match any other indentation level» (ikke-innrykk samsvarer med noe annet innrykksnivå).

Definer og kall inn en funksjon Python

Når vi nå bruker samme innrykk for begge setningene og justerer dem på samme linje, gir det forventet resultat.

Definer og kall inn en funksjon Python

Hvordan fungerer returnerer verdi?

Returkommandoen i Python spesifiserer hvilken verdi som skal gis tilbake til funksjonens kaller. La oss forstå dette med følgende eksempel.

Trinn 1) Funksjonen returnerer ikke noe

Her ser vi når en funksjon ikke «returnerer». For eksempel ønsker vi kvadratet av 4, og den skal gi svaret «16» når koden kjøres. Det gir den når vi bare bruker koden «print x*x», men når du kaller funksjonen «print square» gir den «None» som utdata. Dette er fordi rekursjon ikke skjer når du kaller funksjonen, og den faller av på slutten av funksjonen. Python returnerer «Ingen» for å falle utenfor slutten av funksjonen.

Definer og kall inn en funksjon Python

Trinn 2) Erstatt utskriftskommandoen med en tildelingskommando

For å gjøre dette tydeligere, erstatter vi print-kommandoen med en tildelingskommando. La oss sjekke resultatet.

Definer og kall inn en funksjon Python

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 «None».

Trinn 3) Bruk «return»-funksjonen og kjør koden

Nå skal vi se hvordan vi henter utdataene ved hjelp av kommandoen «return». Når du bruker «return»-funksjonen og kjører koden, vil den gi utdataene «16».

Definer og kall inn en funksjon Python

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 et objekt. Når du kjører kommandoen «print square», returnerer den verdien til objektet. Siden vi ikke har sendt noe argument, har vi ingen spesifikk funksjon å kjøre over her, så den returnerer en standardverdi (0x021B2D30) som er plasseringen til objektet. I en praktisk Python programmet, vil du sannsynligvis aldri trenge å gjøre dette.

Definer og kall inn en funksjon Python

Argumenter i funksjoner

Et argument er en verdi som sendes til funksjonen når den kalles.

Med andre ord, på den kallende siden er det et argument, og på funksjonssiden er det en parameter.

La oss se hvordan Python argumenter fungerer.

Trinn 1) Argumenter deklareres i funksjonsdefinisjonen. Når du kaller funksjonen, kan du sende verdiene for disse argumentene som vist nedenfor.

Definer og kall inn en funksjon Python

Trinn 2) For å deklarere en standardverdi for et argument, tilordner du det en verdi i funksjonsdefinisjonen.

Definer og kall inn en funksjon Python

Eksempel: x har ingen standardverdi. Standardverdien y=0. Når vi bare oppgir ett argument når vi kaller multiplikasjonsfunksjonen, Python tilordner den oppgitte verdien til x mens keeping verdien av y=0. Derav multiplikasjonen av x*y=0.

Definer og kall inn en funksjon Python

Trinn 3) Denne gangen endrer vi verdien til y=2 i stedet for standardverdien y=0, og resultatet returneres som (4×2)=8.

Definer og kall inn en funksjon Python

Trinn 4) Du kan også endre rekkefølgen argumentene sendes i PythonHer har vi reversert rekkefølgen på verdiene x og y til x=4 og y=2.

Definer og kall inn en funksjon Python

Trinn 5) Flere argumenter kan også sendes som en matrise. Her i eksemplet kaller vi de flere argumentene (1,2,3,4,5) ved å kalle (*args)-funksjonen.

Eksempel: Vi deklarerte flere argumenter som tallene (1,2,3,4,5); når vi kaller (*args)-funksjonen, skriver den ut resultatet som (1,2,3,4,5).

Definer og kall inn en funksjon Python

Tips:

  • In Python 2.7, funksjonsoverbelastning støttes ikke. Funksjonsoverbelastning er muligheten til å opprette flere metoder med samme navn med en annen implementering. Funksjonsoverbelastning støttes fullt ut i Python 3.
  • Det er en del forvirring mellom metoder og funksjoner. Metoder i Python er assosiert med objektforekomster, mens funksjoner 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)

Spørsmål og svar

Ja. EN Python Funksjonen kan returnere flere verdier ved å skille dem med komma etter nøkkelordet return. Python pakker dem inn i en tuple, som den som kaller kan pakke ut i separate variabler, for eksempel a, b = func().

*args samler ekstra posisjonsargumenter i en tuple, mens **kwargs samler ekstra nøkkelordargumenter i en ordbok. Begge lar en funksjon akseptere et variabelt antall inndata, og navnene args og kwargs er bare en konvensjon, ikke et krav.

En dokstring er en strenglitteral som plasseres som den første setningen i en funksjon for å dokumentere hva den gjør. Den skrives i trippel anførselstegn og kan leses under kjøring gjennom funksjonens __doc__-attributt eller help()-funksjonen.

En lambda er en liten anonym funksjon definert på én linje med lambda-nøkkelordet i stedet for def. Den passer til kort, engangslogikk som sendes til funksjoner som map(), filter() og sorted(). Se dette. lambda-funksjon guide.

Ja. En funksjon som kaller seg selv er en rekursiv funksjon. Rekursjon løser problemer som deler seg opp i mindre, lignende delproblemer, for eksempel faktorialer. Enhver rekursiv funksjon trenger et basistilfelle som stopper kallene, ellers Python genererer en RecursionError.

En lokal variabel opprettes inne i en funksjon og eksisterer bare mens funksjonen kjører. En global variabel er definert utenfor alle funksjoner og er synlig overalt. For å endre en global variabel inne i en funksjon, deklarerer du den først med nøkkelordet global.

GitHub Copilot foreslår en fullstendig funksjonstekst fra navnet eller en kort kommentar, inkludert parametere, retursetninger og dokumentstrenger. Den foreslår også håndtering av kanttilfeller og tester, slik at du kan fokusere på logikken i stedet for typen.ping standardblokker.

Funksjoner organiserer AI- og maskinlæringskode i gjenbrukbare trinn, som lasting av data, forbehandling, trening og evaluering. De holder eksperimenter lesbare og testbare, og rammeverk som TensorFlow og scikit-learn eksponerer mesteparten av oppførselen deres gjennom velnavngitte funksjoner du kaller.

Oppsummer dette innlegget med: