Sådan kalder du en funktion ind Python (Eksempel)

⚡ Smart opsummering

Fungerer i Python er genbrugelige kodeblokke, der kører, når de kaldes, defineret med def-sætningen. De accepterer argumenter, returnerer værdier og er afhængige af ensartet indrykning for at gruppere de sætninger, der tilhører hver funktion.

  • 🧩 def-sætning: En funktion defineres med def, et navn og parenteser, efterfulgt af et kolon, der åbner den indrykkede blok af sætninger.
  • 📞 Opkaldsfunktioner: At skrive funktionsnavnet efterfulgt af parenteser kører koden, så den samme logik kan genbruges mange gange.
  • ⌨️ Indrykning: Python grupperer en funktionsdel ved hjælp af konsekvent indrykning i stedet for parenteser, så et manglende mellemrum forårsager en Indrykningsfejl.
  • 🎯 argumenter: Værdier, der sendes i parenteserne, bliver til parametre, og standardværdier eller nøgleordsargumenter gør hvert kald fleksibelt.
  • ↩️ Returværdier: Return-sætningen sender et resultat tilbage til den, der kalder det; uden det returnerer funktionen None.
  • 🤖 AI assistance: AI-assistenter som f.eks. GitHub Copilot genererer funktionsskeletter, argumenter og docstrings fra en kort prompt.

Sådan kalder du en funktion ind Python

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 anvende koden mere end ét sted i et program. Det kaldes også en metode eller en procedure. Python tilbyder mange indbyggede funktioner som print(), input(), compile() og exec(), men det giver dig også friheden til at oprette dine egne funktioner.

Sådan defineres og kaldes en funktion ind Python

En funktion i Python er defineret af "def"-sætningen efterfulgt af funktionsnavnet 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".

Definer og kalde en funktion ind Python

Funktionskaldet func1() kalder vores def func1(): og udskriver kommandoen "Jeg lærer Python funktion Ingen.”

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

  • Eventuelle argumenter eller inputparametre skal placeres inden for disse parenteser.
  • Funktionens første sætning kan være en valgfri sætning — funktionens docstring eller dokumentationsstreng.
  • Koden i hver funktion starter med et kolon (:) og skal være indrykket (mellemrum).
  • Udtrykket return (udtryk) afslutter en funktion og sender eventuelt en værdi tilbage til den, der kalder den. En return-udtryk uden argumenter er det samme som en return None.

Betydningen af ​​indrykning (mellemrum) i Python

Før 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, såsom at deklarere betingelser, løkker eller variabler.

Python følger en bestemt indrykningsstil for at definere koden. Da Python Funktioner har ikke nogen eksplicit begyndelse eller slutning som krøllede parenteser til at angive funktionens start og stop, de er afhængige af denne indrykning. Her tager vi et simpelt eksempel med kommandoen "print". Når vi skriver funktionen "print" lige under def func1(): linjen, vil den vise en "indrykningsfejl: forventet en indrykket blok".

Definer og kalde en funktion ind Python

Når du nu tilføjer indrykningen (mellemrummet) foran "print"-funktionen, burde den udskrive som forventet.

Definer og kalde en funktion ind Python

Mindst ét ​​indryk er nok til at få din kode til at fungere korrekt. Men som en god praksis er det tilrådeligt at efterlade omkring 3-4 indrykningsmellemrum til at kalde din funktion.

Det er også nødvendigt, at du, når du deklarerer indentation, bevarer den samme indentation for resten af ​​din kode. For eksempel, i skærmbilledet nedenfor, når vi kalder en anden sætning "still in func1", og den ikke er deklareret lige under den første print-sætning, vil den vise en indentationsfejl: "unindent matcher ikke noget andet indentationsniveau".

Definer og kalde en funktion ind Python

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

Definer og kalde en funktion ind Python

Hvordan fungerer returnerer værdien?

Returkommandoen i Python angiver hvilken værdi der skal gives tilbage til funktionens kalder. Lad os forstå dette med følgende eksempel.

Trin 1) Funktionen returnerer ikke noget

Her ser vi, når en funktion ikke "returnerer". For eksempel ønsker vi kvadratet af 4, og det skal give svaret "16", når koden udføres. Det giver det, når vi blot bruger koden "print x*x", men når du kalder funktionen "print square", giver den "None" som output. Dette skyldes, at når du kalder funktionen, sker der ikke rekursion, og den falder af i slutningen af ​​funktionen. Python returnerer "Ingen" for at falde uden for slutningen af ​​funktionen.

Definer og kalde en funktion ind Python

Trin 2) Erstat udskriftskommandoen med en tildelingskommando

For at gøre dette tydeligere erstatter vi print-kommandoen med en assignment-kommando. Lad os tjekke outputtet.

Definer og kalde en funktion ind Python

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 "None".

Trin 3) Brug funktionen 'return' og udfør koden

Nu skal vi se på, hvordan man henter outputtet ved hjælp af kommandoen "return". Når du bruger funktionen "return" og udfører koden, vil den give outputtet "16".

Definer og kalde en funktion ind Python

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 et objekt. Når du kører kommandoen "print square", returnerer den objektets værdi. Da vi ikke har givet noget argument, har vi ikke nogen specifik funktion at køre over her, så den returnerer en standardværdi (0x021B2D30), som er objektets placering. I en praktisk Python program, så får du sandsynligvis aldrig brug for at gøre dette.

Definer og kalde en funktion ind Python

Argumenter i funktioner

Et argument 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 argumenter virker.

Trin 1) Argumenter deklareres i funktionsdefinitionen. Når du kalder funktionen, kan du sende værdierne for disse argumenter som vist nedenfor.

Definer og kalde en funktion ind Python

Trin 2) For at deklarere en standardværdi for et argument skal du tildele det en værdi i funktionsdefinitionen.

Definer og kalde en funktion ind Python

Eksempel: x har ingen standardværdi. Standardværdien y=0. Når vi kun angiver ét argument, når vi kalder multiplikationsfunktionen, Python tildeler den angivne værdi til x, mens keeping værdien af ​​y=0. Derfor multiplikatoren af ​​x*y=0.

Definer og kalde en funktion ind Python

Trin 3) Denne gang ændrer vi værdien til y=2 i stedet for standardværdien y=0, og outputtet returneres som (4×2)=8.

Definer og kalde en funktion ind Python

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

Definer og kalde en funktion ind Python

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

Eksempel: Vi deklarerede flere argumenter som tallene (1,2,3,4,5); når vi kalder funktionen (*args), udskriver den outputtet som (1,2,3,4,5).

Definer og kalde en funktion ind Python

tips:

  • In Python 2.7, funktionsoverbelastning understøttes ikke. Funktionsoverbelastning er muligheden for at oprette flere metoder med samme navn med en forskellig implementering. Funktionsoverbelastning understøttes fuldt ud i Python 3.
  • Der er en del forvirring mellem metoder og funktioner. Metoder i Python er tilknyttet objektinstanser, mens funktioner ikke er det. 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)

Ofte Stillede Spørgsmål

Ja. EN Python Funktionen kan returnere flere værdier ved at adskille dem med kommaer efter return-nøgleordet. Python pakker dem ind i en tuple, som kalderen kan udpakke i separate variabler, for eksempel a, b = func().

*args indsamler ekstra positionsargumenter i en tuple, mens **kwargs indsamler ekstra nøgleordsargumenter i en ordbog. Begge tillader en funktion at acceptere et variabelt antal input, og navnene args og kwargs er kun en konvention, ikke et krav.

En docstring er en strengliteral, der placeres som den første sætning i en funktion for at dokumentere, hvad den gør. Den er skrevet i tredobbelte anførselstegn og kan læses under kørsel via funktionens __doc__-attribut eller help()-funktionen.

En lambda er en lille anonym funktion defineret på én linje med nøgleordet lambda i stedet for def. Den er egnet til kort, engangslogik, der sendes til funktioner som map(), filter() og sorted(). Se dette. lambda funktion guide.

Ja. En funktion, der kalder sig selv, er en rekursiv funktion. Rekursion løser problemer, der opdeles i mindre, lignende delproblemer, såsom faktorialer. Enhver rekursiv funktion har brug for et basistilfælde, der stopper kaldene, ellers Python genererer en Rekursionsfejl.

En lokal variabel oprettes inde i en funktion og eksisterer kun, mens funktionen kører. En global variabel er defineret uden for alle funktioner og er synlig overalt. For at ændre en global variabel inde i en funktion, skal du først deklarere den med nøgleordet global.

GitHub Copilot foreslår en fuld funktionstekst fra dens navn eller en kort kommentar, inklusive parametre, return statements og docstrings. Den foreslår også håndtering af edge-cases og tests, så du kan fokusere på logikken i stedet for typen.ping standard def blokke.

Funktioner organiserer AI- og maskinlæringskode i genanvendelige trin, såsom indlæsning af data, forbehandling, træning og evaluering. De holder eksperimenter læsbare og testbare, og frameworks som TensorFlow og scikit-learn afslører det meste af deres adfærd gennem velnavngivne funktioner, du kalder.

Opsummer dette indlæg med: